DateAdd, DateDiff i TimeZoneOffset funkcije
Function | Odnosi se na |
---|---|
Datum dodavanja | Kolone Dataverse formule za aplikacije platna Tokovi na radnoj površini Aplikacije Power Platform zasnovane na modelu CLI |
DateDiff | Kolone Dataverse formule za aplikacije platna Tokovi na radnoj površini Aplikacije Power Platform zasnovane na modelu CLI |
Vremenska zonaOfset | Canvas apps Desktop tokovi Aplikacije Power Platform zasnovane na modelu CLI |
Dodaje ili pronalazi razliku u vrednostima datum/vreme i konvertuje između lokalnog vremena i UTC.
Opis
Funkcija DateAdd dodaje broj jedinica u vrednost datum/vreme. Rezultat je nova vrednost datum/vreme. Takođe možete oduzeti broj jedinica od vrednosti datum/vreme tako što ćete navesti negativnu vrednost.
Funkcija DateDiff vraća razliku između dve vrednosti datum/vreme. Rezultat je ceo broj jedinica.
Za obe funkcije, jedinice mogu biti TimeUnit.Milliseconds, TimeUnit.Seconds , TimeUnit.Minutes , TimeUnit.Hours , TimeUnit.Dais , TimeUnit.Months , TimeUnit.Quarters iliTimeUnit.Years . Po defaultu, obe funkcije koriste TimeUnit.Dais kao jedinice.
Funkcija TimeZoneOffset vraća broj minuta između lokalnog vremena korisnika i UTC (Coordinated Universal Time).
Možete koristiti DateAdd sa TimeZoneOffset da biste konvertovali između lokalnog vremena korisnika i UTC (Coordinated Universal Time). Dodavanje TimeZoneOffset pretvoriće lokalno vreme u UTC, a oduzimanje (dodavanje negativnog) pretvoriće iz UTC u lokalno vreme.
Takođe pogledajte Datum , vreme i DatumVreme tipovi podataka i rad sa datumima i vremenima za više informacija.
Sintaksa
DateAdd(DateTime,Addition [, Jedinice ] )
- DateTime - Obavezno. Vrednost datuma/vremena na kojoj se radi.
- Dodatak - Obavezno. Broj, u jedinicama, za dodavanje u DateTime.
- Jedinice - Opciono. Tip jedinica koje treba dodati: TimeUnit.Milliseconds, TimeUnit.Seconds, TimeUnit.Minutes, TimeUnit.Hours, TimeUnit.Dais, TimeUnit.Months, TimeUnit.Quarters ili TimeUnit.Years. Ako nije navedeno, koriste se TimeUnit.Dais .
DateDiff(StartDateTime,EndDateTime [, Jedinice ] )
- StartDateTime - Obavezno. Pokretanje vrednosti datum/vreme.
- EndDateTime - Obavezno. Završavanje vrednosti datum/vreme.
- Jedinice - Opciono. Tip jedinica za oduzimanje: TimeUnit.Milliseconds, TimeUnit.Seconds, TimeUnit.Minutes, TimeUnit.Hours, TimeUnit.Dais, TimeUnit.Months, TimeUnit.Quarters, ili TimeUnit.Years. Ako nije navedeno, koriste se TimeUnit.Dais .
TimeZoneOffset( [ DateTime ] )
- DateTime - Opciono. Vrednost datum/vreme za koju se vraća odstupanje. Podrazumevano se koristi trenutni datum/vreme.
Primeri
U svim ovim primerima pretpostavite da su trenutni datum i vreme 15. jul 2013., 13:02.
Jednostavno DateAdd
Formula | Opis | Rezultat |
---|---|---|
Text( DateAdd( Now(), 3 ), "dd-mm-yyyy hh:mm" ) |
Dodaje se tri dana (podrazumevane jedinice) trenutnom datumu i vremenu. | „18. 7. 2013. 13:02“ |
Text( DateAdd( Now(), 4, TimeUnit.Hours ), "dd-mm-yyyy hh:mm" ) |
Dodajte četiri sata trenutnom datumu i vremenu. | „15. 7. 2013. 17:02“ |
Text( DateAdd( Today(), 1, TimeUnit.Months ), "dd-mm-yyyy hh:mm" ) |
Dodaje se mesec dana trenutnom datumu, bez vremena kao Danas ne vraća vremensku komponentu. | „15. 8. 2013. 00:00“ |
Text( DateAdd( Now(), -30, TimeUnit.Minutes ), "dd-mm-yyyy hh:mm" ) |
Oduzima 30 minuta od trenutnog datuma i vremena. | „15. 7. 2013. 12:32“ |
Jednostavno DateDiff
Formula | Opis | Rezultat |
---|---|---|
DateDiff( Now(), DateValue("1/1/2014") ) | Vraća razliku između dve jedinice u podrazumevanim jedinicama TimeUnit.Dais | 170 |
DateDiff( Now(), DateValue("1/1/2014"), TimeUnit.Months ) | Vraća razliku između dve vrednosti u TimeUnit.Months | 6 |
DateDiff( Now(), Today(), TimeUnit.Minutes ) | Vraća razliku samo između trenutnog datuma/vremena i trenutnog datuma (bez vremena) u minutima. Pošto je Now kasnije od Today, rezultat će biti negativan. | -782 |
Razlika datuma sa delimičnim rezultatima
Funkcija DateDiff vraća samo ceo broj jedinica koje se oduzimaju, a preciznost je data u navedenoj jedinici. Da biste izračunali razliku sa većom preciznošću, koristite manju jedinicu i konvertujte rezultat na odgovarajući način, kao u primerima u nastavku.
Formula | Opis | rezultat |
---|---|---|
DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Hours ) | Minuti/sekunde se zanemaruju, razlika se zasniva na vremenu do sata. | 1 |
DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Minutes)/60 | Minuti se koriste u razlici, a rezultat se deli sa 60 da bi se dobila razlika u satima. | 0.5 |
DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Seconds)/3600 | Minuti i sekunde se koriste u razlici, a rezultat se deli sa 3600 da bi se dobila razlika u satima. | 0.51 |
Konvertovanje u UTC
Da biste konvertovali u UTC (Koordinisano univerzalno vreme), dodaje TimeZoneOffset za dato vreme.
Na primer, zamislite da su trenutni datum i vreme 15. jul 2013. 13:02 po pacifičkom letnjem računanju vremena (PDT, UTC-7). Da biste odredili trenutno vreme u UTC, koristite:
- DateAdd( Now(), TimeZoneOffset(), TimeUnit.Minutes
TimeZoneOffset podrazumeva trenutno vreme, tako da ne morate da mu prosledite argument.
Da biste videli rezultat, koristite funkciju Text sa formatom dd-mm-yyyy hh:mm, koji će vratiti 15-07-2013, 20:02.
Pretvaranje iz UTC
Da biste konvertovali iz UTC, oduzmite TimeZoneOffset (dodavanjem negativnog) za dato vreme.
Na primer, zamislite UTC datum i vreme 15. jul 2013. 20:02 se čuva u promenljivoj pod nazivom StartTime. Da biste podesili vreme za vremensku zonu korisnika, koristite:
- DateAdd( StartTime, −TimeZoneOffset( StartTime), TimeUnit.Minutes )
Imajte na umu negativni znak pre TimeZoneOffset da biste oduzeli odstupanje, a ne dodali ga.
Da biste videli rezultat, koristite funkciju Text sa formatom dd-mm-yyyy hh:mm, što će rezultirati u 15-07-2013, 13:02 ako ste u pacifičkom letnjem/zimskom računanju vremena.