Dijeli putem


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.