Share via


Funkcije DateAdd, DateDiff i TimeZoneOffset

Odnosi se na: Stupci formule aplikacija Dataverse od gotovih gradivnih elemenata Tokovi radne površine CLI aplikacije stvorene prema Power Platform modelu

Dodaje ili pronalazi razliku u vrijednostima datum/vrijeme i prebacuje vrijeme između lokalnog vremena i UTC-a.

Opis

Funkcija DateAdd dodaje broj jedinica vrijednosti datum/vrijeme. Rezultat je nova vrijednost datum/vrijeme. Također, od vrijednosti datum/vrijeme možete oduzeti jedan broj jedinica specificiranjem negativne vrijednosti.

Funkcija DateDiff vraća razliku između dvije vrijednosti datum/vrijeme. Rezultat je cijeli broj jedinica.

Za obje funkcije jedinice mogu biti TimeUnit.Milliseconds,TimeUnit.Seconds,TimeUnit.Minutes,TimeUnit.Hours,TimeUnit.Days,TimeUnit.Months,TimeUnit.Quarters ili TimeUnit.Years. Prema zadanim postavkama obje funkcije koriste TimeUnit.Days kao jedinice.

Funkcija TimeZoneOffset vraća broj minuta između korisnikovog lokalnog vremena i UTC-a (Univerzalno koordinirano vrijeme).

Možete koristiti DateAdd zajedno s TimeZoneOffset za prebacivanje između korisnikovog lokalnog vremena i UTC-a (univerzalno koordinirano vrijeme). Dodavanje TimeZoneOffset pretvorit će lokalno vrijeme u UTC, a oduzimanjem (dodavanjem negativnog) pretvorit će se iz UTC-a u lokalno vrijeme.

Dodatne informacije potražite i u odjeljku Vrste podataka datum, vrijeme i datum i vrijeme te rad s datumima i vremenima .

Sintaksa

DateAdd( datum/vrijeme, veličina [, jedinice ] )

  • DateTime – obavezno. Vrijednost datum/vrijeme koja se koristi.
  • Addition – obavezno. Broj izražen u jedinicama koji se dodaje na datum/vrijeme.
  • Units – neobavezno. Vrsta jedinica koje treba dodati: TimeUnit.Milliseconds,TimeUnit.Seconds,TimeUnit.Minutes,TimeUnit.Hours,TimeUnit.Days,TimeUnit.Months,TimeUnit.Quarters iliTimeUnit.Years. Ako nije navedeno, koriste se TimeUnit.Days .

DateDiff( početni datum/vrijeme, završni datum/vrijeme [, jedinice ] )

  • StartDateTime – obavezno. Početna vrijednost datuma i vremena.
  • EndDateTime – obavezno. Završna vrijednost datuma i vremena.
  • Units – neobavezno. Vrsta jedinica za oduzimanje: TimeUnit.Milliseconds,TimeUnit.Seconds,TimeUnit.Minutes,TimeUnit.Hours,TimeUnit.Days,TimeUnit.Months,TimeUnit.Quarters iliTimeUnit.Years. Ako nije navedeno, koriste se TimeUnit.Days .

TimeZoneOffset( [ datum/vrijeme ] )

  • DateTime – neobavezno. Vrijednost datum/vrijeme za koje se vraća odstupanje. Prema zadanim postavkama koristi se trenutačni datum/vrijeme.

Primjeri

U svim ovim primjerima pretpostavite da su trenutačni datum i vrijeme July 15, 2013, 1:02 PM.

Jednostavna upotreba funkcije DateAdd

Formula Opis Rezultat
Text( DateAdd( Now(), 3 ),
"dd-mm-yyyy hh:mm" )
Dodaje tri dana (zadane jedinice) trenutačnom datumu i vremenu. „18-07-2013 13:02”
Text( DateAdd( Now(), 4, TimeUnit.Hours ),
"dd-mm-yyyy hh:mm" )
Dodajte četiri sata trenutačnom datumu i vremenu. „15-07-2013 17:02”
Text( DateAdd( Today(), 1, TimeUnit.Months ),
"dd-mm-yyyy hh:mm" )
Dodaje se jedan mjesec trenutačnom datumu, bez vremena jer Today ne vraća vremensku komponentu. „15-08-2013 00:00”
Text( DateAdd( Now(), -30, TimeUnit.Minutes ),
"dd-mm-yyyy hh:mm" )
Oduzima 30 minuta od trenutačnog datuma i vremena. „15-07-2013 12:32”

Jednostavna upotreba funkcije DateDiff

Formula Opis Rezultat
DateDiff( Now(), DateValue("1/1/2014") ) Vraća razliku između dvije jedinice u zadanim jedinicama vremenske jedinice.Days 170
DateDiff( Now(), DateValue("1/1/2014"), TimeUnit.Months ) Vraća razliku između dvije vrijednosti u TimeUnit.Months 6
DateDiff( Now(), Today(), TimeUnit.Minutes ) Vraća razliku između trenutačnog datuma/vremena i trenutačnog datuma (bez vremena) u minutama. Budući da je Now kasnije od Today, rezultat će biti negativan. -782

Razlika datuma s razlomačkim rezultatima

Funkcija DateDiff vraća samo cijeli broj jedinica koje se oduzimaju, a preciznost je dana u navedenoj jedinici. Da biste izračunali razliku s većom preciznošću, koristite manju jedinicu i pretvorite rezultat na odgovarajući način, kao u primjerima u nastavku.

Formula Opis Rezultat
DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Hours ) Minute/sekunde se zanemaruju, razlika se temelji na vremenu do sata. 1
DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Minutes )/60 Minute se koriste u razlici, a rezultat se dijeli sa 60 da bi se dobila razlika u satima. 0.5
DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Seconds )/3600 Minute i sekunde se koriste u razlici; rezultat se dijeli sa 3600 da bi se dobila razlika u satima. 0.51

Pretvaranje u UTC

Da biste vrijeme pretvorili u UTC (koordinirano univerzalno vrijeme), dodajte TimeZoneOffset za dano vrijeme.

Na primjer, uzmite da su trenutačni datum i vrijeme July 15, 2013, 1:02 PM prema pacifičkom dnevnom vremenu (PDT, UTC-7). Da biste odredili trenutačno vrijeme u UTC, upotrijebite:

  • DateAdd( Now(), TimeZoneOffset(), TimeUnit.Minutes )

Zadana vrijednost za TimeZoneOffset je trenutačno vrijeme, tako da ne morate prenijeti argument.

Da biste vidjeli rezultat, upotrijebite funkciju Text u obliku dd-mm-yyyy hh:mm, koja će vratiti 15-07-2013 20:02.

Pretvaranje iz UTC

Da biste pretvorili vrijeme iz UTC-a, oduzmite TimeZoneOffset (dodavanjem negativne vrijednosti) za dano vrijeme.

Na primjer, uzmite da je UTC datum i vrijeme July 15, 2013, 8:02 PM spremljeno u varijabli nazvanoj StartTime. Da biste to vrijeme prilagodili vremenskoj zoni korisnika, upotrijebite:

  • DateAdd( Vrijeme pokretanja, −TimeZoneOffset( Vrijeme početka ), TimeUnit.Minutes )

Upotrijebite negativni predznak za TimeZoneOffset kako biste odstupanje oduzeli umjesto da ga dodate.

Da biste vidjeli rezultat, upotrijebite funkciju Text u obliku dd-mm-yyyy hh:mm, koja će dati 15-07-2013 13:02 ako ste u pacifičkom dnevnom vremenu.