Funkcije »DateAdd«, »DateDiff« in »TimeZoneOffset« v rešitvi Power Apps
Doda vrednost k vrednosti datuma/časa ali ugotovi razliko v vrednostih datuma/časa ter pretvarja med lokalnim časom in UTC.
Opis
Funkcija DateAdd doda število enot k vrednosti datuma/časa. Rezultat je nova vrednost datuma/časa. Lahko tudi odštejete število enot od vrednosti datuma/časa, tako da navedete negativno vrednost.
Funkcija DateDiff vrne razliko med dvema vrednostma datuma/ časa. Rezultat je celo število enot.
Za obe funkciji so lahko enote Milliseconds, Seconds, Minutes, Hours, Days, Months, Quarters ali Years. Privzeto obe funkciji kot enote uporabljata Dnevi.
Funkcija TimeZoneOffset vrne število minut med uporabnikovim lokalnim časom in časom UTC (usklajen univerzalni čas).
Funkcijo DateAdd lahko uporabite skupaj s funkcijo TimeZoneOffset za pretvorbo med uporabnikovim lokalnim časom in časom UTC (usklajen univerzalni čas). Če prištejete funkcijo TimeZoneOffset, se lokalni čas pretvori v UTC, če pa jo odštejete (prištejete negativno vrednost) se UTC pretvori v lokalni čas.
Glejte tudi Vrste podatkov »Date«, »Time« in »DateTime« ter delo z datumi in časi za več informacij.
Sintaksa
DateAdd( DateTime, Addition [, Units ] )
- DateTime – obvezno. Vrednost datuma/časa za operiranje.
- Addition – obvezno. Število v možnosti Enote, ki se prišteje k DateTime.
- Units – izbirno. Vrsta možnosti Units, ki se prišteje: Milliseconds, Seconds, Minutes, Hours, Days, Months, Quarters ali Years. Če ni določeno, se uporabi Days.
DateDiff( StartDateTime, EndDateTime [, Units ] )
- StartDateTime – obvezno. Začetna vrednost datuma/časa.
- EndDateTime – obvezno. Končna vrednost datuma/časa.
- Units – izbirno. Vrsta možnosti Enote za odštevanje: Milisekunde, Sekunde, Minute, Ure, Dnevi, Meseci, Četrtletja ali Leta. Če ni določeno, se uporabi Days.
TimeZoneOffset( [ DateTime ] )
- DateTime – izbirno. Vrednost datuma/časa za katero se vrne odmik. Privzeto je uporabljen trenutni datum/čas.
Primeri
V vseh teh primerih domnevamo, da sta trenutni datum in čas 15. julij 2013, 13:02.
Enostavna funkcija DateAdd
| Formula | Opis | Rezultat |
|---|---|---|
| Text( DateAdd( Now(), 3 ), "dd-mm-yyyy hh:mm" ) |
Prišteje tri dni (privzete enote) trenutnemu datumu in času. | "18-07-2013 13:02" |
| Text( DateAdd( Now(), 4, Hours ), "dd-mm-yyyy hh:mm" ) |
Prišteje štiri ure trenutnemu datumu in času. | "15-07-2013 17:02" |
| Text( DateAdd( Today(), 1, Months ), "dd-mm-yyyy hh:mm" ) |
Prišteje en mesec trenutnemu datumu, brez časa, kot je Today, ne vrne komponente časa. | "15-08-2013 00:00" |
| Text( DateAdd( Now(), ‑30, Minutes ), "dd-mm-yyyy hh:mm" ) |
Odšteje 30 minut od trenutnega datuma in časa. | "15-07-2013 12:32" |
Enostavna funkcija DateDiff
| Formula | Opis | Rezultat |
|---|---|---|
| DateDiff( Now(), DateValue("1/1/2014") ) | Vrne vrednost med dvema enotama v privzetih enotah Days | 170 |
| DateDiff( Now(), DateValue("1/1/2014"), Months ) | Vrne razliko med dvema vrednostma v enoti Months | 6 |
| DateDiff( Now(), Today(), Minutes ) | Vrne vrednost med trenutnim datumom/časom in trenutnim datumom (brez časa) v minutah. Ker je Now pozneje kot Today, bo rezultat negativen. | –782 |
Razlika datumov z rezultati po delih
Funkcija DateDiff vrne samo celo število enot, ki se odštejejo, natančnost pa je podana v navedeni enoti. Za izračun razlike z večjo natančnostjo uporabite manjšo enoto in primerno pretvorite rezultat, kot v spodnjih primerih.
| Formula | Opis | Rezultat |
|---|---|---|
| DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), Hours ) | Minute/sekunde se prezrejo, razlika temelji na času do ure. | 1 |
| DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), Minutes )/60 | Minute se uporabijo v razliki, rezultat pa se deli s 60, da se dobi razlika v urah. | 0.5 |
| DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), Seconds )/3600 | Minute in sekunde se uporabijo v razliki, rezultat pa se deli s 3600, da se dobi razlika v urah. | 0.51 |
Pretvorba v UTC
Za pretvorbo v UTC (usklajen univerzalni čas), prištejte TimeZoneOffset za določen čas.
Na primer, predstavljajmo si, da sta trenutni datum in čas 15. julij 2013, 13:02 v pacifiškem poletnem času (PDT, UTC-7). Za določitev trenutnega časa v UTC uporabite:
- DateAdd( Now(), TimeZoneOffset(), Minutes )
TimeZoneOffset privzeto uporablja trenutni čas, da mu ni treba posredovati argumenta.
Če želite videti rezultat, uporabite funkcijo Text z obliko zapisa dd-mm-yyyy hh:mm, ki vrne 15-07-2013 20:02.
Pretvorba iz UTC
Če želite pretvoriti iz UTC, odštejte TimeZoneOffset (tako da prištejete negativno vrednost) za dani čas.
Na primer, predstavljajte si, da sta datum in čas UTC 15. julij 2013, 8:02 shranjena v spremenljivki, imenovani StartTime. Da prilagodite čas za uporabnikov časovni pas, uporabite:
- DateAdd( StartTime, −TimeZoneOffset( StartTime ), Minutes )
Upoštevajte negativni znak pred TimeZoneOffset, da odštejete odmik, namesto da bi ga dodali.
Če želite videti rezultat, uporabite funkcijo Text z obliko zapisa dd-mm-yyyy hh:mm, da nastane 15-07-2013 13:02, če ste v pacifiškem poletnem času.
Opomba
Ali nam lahko poveste, kateri je vaš prednostni jezik za dokumentacijo? Izpolnite kratko anketo. (upoštevajte, da je v angleščini)
Z anketo boste porabili približno sedem minut. Ne zbiramo nobenih osebnih podatkov (izjava o zasebnosti).
Povratne informacije
Pošlji in prikaži povratne informacije za