Deli putem


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.