Dijeli putem


DateAdd, DateDiffi TimeZoneOffset funkcije

Funkcije Odnosi se na
DateAdd
DateDiff
Canvas apps Copilot Studio Desktop flows Dataverse formula columns Model-driven apps Power Platform CLI Dataverse functions Power Pages
TimeZoneOffset Canvas apps Copilot Studio Desktop flows Model-driven apps Power Platform CLI Dataverse functions Power Pages
Function Odnosi se na
DateAdd
DateDiff
TimeZoneOffset

Dodaje ili pronalazi razliku u vrijednostima datum/vrijeme i prebacuje vrijeme između lokalnog vremena i UTC-a.

Opis

Funkcija DateAdd zbraja broj jedinica vrijednosti datuma/vremena. 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 datuma/vremena. 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 korisnikova lokalnog vremena i UTC-a (koordinirano univerzalno vrijeme).

Možete koristiti za DateAdd pretvorbu TimeZoneOffset između korisnikova lokalnog vremena i UTC-a (koordiniranog univerzalnog vremena). Dodavanjem TimeZoneOffset će se lokalno vrijeme pretvoriti u UTC, a oduzimanje (dodavanje 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( DateTime, Addition [, Units ] )

  • 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( StartDateTime, EndDateTime [, Units ] )

  • 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.

Jednostavan 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”

Jednostavan 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 vraća DateDiff 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 pretvorili u UTC (koordinirano univerzalno vrijeme), TimeZoneOffset dodajte to 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(), (Sada(), TimeZoneOffset(), Jedinica Vremena.Minute )

TimeZoneOffset prema zadanim postavkama na trenutno vrijeme, pa ga ne morate prosljediti kao 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 iz UTC-a TimeZoneOffset , oduzmite (dodavanjem negativnog vrijednosti) za određeno 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(StartTime, −TimeZoneOffset( StartTime ), TimeUnit.Minutes )

Zabilježite negativni znak prije TimeZoneOffset da biste oduzeli pomak 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.