DateAdd, DateDiff i TimeZoneOffset funkcije
Function | Odnosi se na |
---|---|
DatumOda | Canvas apps Dataverse formula columns Desktop flows Model-driven apps Power Platform CLI |
DatumDifa | Canvas apps Dataverse formula columns Desktop flows Model-driven apps Power Platform CLI |
TimeZoneOffset | Canvas apps Desktop flows Model-driven apps Power Platform 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.Days,TimeUnit.Months,TimeUnit.Quarters ili TimeUnit.Years. Obe funkcije podrazumevano koriste TimeUnit.Days 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 tipove podataka "Datum", "Vreme" i "Vreme izvršavanja " i rad sa datumima i vremenom za više informacija.
Sintaksa
DateAdd( DateTime, Addition [, Units ] )
- DateTime – Obavezno. Vrednost datuma/vremena na kojoj se radi.
- Addition – Obavezno. Broj, u jedinicama, za dodavanje u DateTime.
- Units – Obavezno. Tip jedinica za dodavanje:TimeUnit.Milliseconds,TimeUnit.Seconds,TimeUnit.Minutes,TimeUnit.Hours,TimeUnit.Days,TimeUnit.Months,TimeUnit.Quarters iliTimeUnit.Years. Ako nije navedeno, koriste se "VremeUnit.Dani ".
DateDiff( StartDateTime, EndDateTime [, Jedinice ] )
- StartDateTime – Obavezno. Pokretanje vrednosti datum/vreme.
- EndDateTime – Obavezno. Završavanje vrednosti datum/vreme.
- Units – Obavezno. Tip jedinica za oduzimanje: TimeUnit.Milliseconds,TimeUnit.Seconds,TimeUnit.Minutes,TimeUnit.Hours,TimeUnit.Days,TimeUnit.Months,TimeUnit.Quarters iliTimeUnit.Years. Ako nije navedeno, koriste se "VremeUnit.Dani ".
TimeZoneOffset( [ DateTime ] )
- DateTime – Obavezno. 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“ |
Tekst( DateAdd( Danas(), 1, VremeUnit.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") ) | Daje razliku između dve jedinice u podrazumevanim jedinicama jedinice jedinice "VremeUnit.Days ". | 170 |
DateDiff( Now(), DateValue("1/1/2014"), TimeUnit.Months ) | Daje razliku između dve vrednosti u programu 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.) | 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 se podrazumeva na trenutno vreme, tako da ne trebate da unosite argument u nju.
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( Vreme početka,VremeZoneOffset −( Vreme početka ), VremeUnit.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.