Deli putem


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.