Funkcije DateAdd, DateDiff i TimeZoneOffset
Function | Odnosi se na |
---|---|
DatumDodaj | Stupci Dataverse formule aplikacija radnog područja Tijekovi radne površine CLI aplikacija Power Platform utemeljenih na modelu |
DateDiff | Stupci Dataverse formule aplikacija radnog područja Tijekovi radne površine CLI aplikacija Power Platform utemeljenih na modelu |
TimeZoneOffset | Aplikacije radnog područja Tijekovi radne površine CLI aplikacija Power Platform utemeljenih na 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 članku Vrste podataka Datum, vrijeme i DatumVrijeme i rad s datumima i vremenima .
Sintaksa
DateAdd( DatumVrijeme;Dodatak [ ; Jedinice ] )
- DateTime - Obavezno. Vrijednost datum/vrijeme koja se koristi.
- Dodatak - Obavezno. Broj izražen u jedinicama koji se dodaje na datum/vrijeme.
- Jedinice - opcionalno. 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četnoDatumVrijeme; KrajnjiDatumVrijeme [; Jedinice ] )
- StartDateTime - Obavezno. Početna vrijednost datuma i vremena.
- EndDateTime - Obavezno. Završna vrijednost datuma i vremena.
- Jedinice - opcionalno. Vrsta jedinica koje treba oduzeti: TimeUnit.Milliseconds,TimeUnit.Seconds,TimeUnit.Minutes,TimeUnit.Hours,TimeUnit.Days,TimeUnit.Months,TimeUnit.Quarters iliTimeUnit.Years. Ako nije navedeno, koriste se TimeUnit.Days .
TimeZoneOffset( [ DateTime ] )
- DateTime - Nije obavezno. 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 dviju jedinica u zadanim jedinicama TimeUnit.Days | 170 |
DateDiff( Now(), DateValue("1/1/2014"), TimeUnit.Months ) | Vraća razliku između dviju vrijednosti u objektu 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 )
TimeZoneOffset prema zadanim postavkama je trenutno vrijeme, tako da mu ne morate proslijediti 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( PočetnoVrijeme, −TimeZoneOffset( PočetnoVrijeme ), 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.