Funkcije DateAdd, DateDiff i TimeZoneOffset u aplikaciji Power Apps

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 Milliseconds, Seconds, Minutes, Hours, Days, Months, Quarters ili Years. Obje funkcije prema zadanim postavkama kao jedinice koriste Days.

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.

Također, za više informacija pogledajte vrste podataka datum, vrijeme i datum/vrijeme i rad s datumima i vremenima.

Sintaksa

DateAdd( datum/vrijeme, veličina [, jedinice ] )

  • DateTime - Obvezno. Vrijednost datum/vrijeme koja se koristi.
  • Size – Obvezno. Broj izražen u jedinicama koji se dodaje na datum/vrijeme.
  • Jedinice – Neobvezno. Vrsta jedinice koju treba dodati: Milliseconds, Seconds, Minutes, Hours, Days, Months, Quarters ili Years. Ako nije navedeno, koristi se Days.

DateDiff( početni datum/vrijeme, završni datum/vrijeme [, jedinice ] )

  • Početni datum/vrijeme – Required. Početna vrijednost datuma i vremena.
  • Završni datum/vrijeme – Required. Završna vrijednost datuma i vremena.
  • Jedinice – Neobvezno. Vrste Jedinica za oduzimanje: Milisekunde, Sekunde, Minute, Sati, Dani, Mjeseci, Kvartali, ili Godine. Ako nije navedeno, koristi se Days.

TimeZoneOffset( [ datum/vrijeme ] )

  • Datum/vrijeme – Neobvezno. 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, Hours ),
"dd-mm-yyyy hh:mm" )
Dodajte četiri sata trenutačnom datumu i vremenu. „15-07-2013 17:02”
Text( DateAdd( Today(), 1, 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, 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 dvije jedinice u zadanim jedinicama Days 170
DateDiff( Now(), DateValue("1/1/2014"), Months ) Vraća razliku između dvije vrijednosti izraženu u Months 6
DateDiff( Now(), Today(), 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"), Sati) Minute/sekunde se zanemaruju, razlika se temelji na vremenu do sata. 1
DateDiff(TimeValue("09:45:00"), TimeValue("10:15:36"), Minute)/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"), Sekunde)/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(), Minutes )

Zadana vrijednost za TimeZoneOffset je trenutačno vrijeme, tako da ne morate prenijeti 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( StartTime, −TimeZoneOffset( StartTime ), 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.