Funktsioonid DateAdd, DateDiff ja TimeZoneOffset
Function | Kehtib järgmiste puhul |
---|---|
DateAdd | Lõuendirakendused Dataverse valemiveerud Töölauavood Mudelipõhised rakendused Power Platform CLI |
KuupäevDiff | Lõuendirakendused Dataverse valemiveerud Töölauavood Mudelipõhised rakendused Power Platform CLI |
TimeZoneOffset | Lõuendirakendused Töölauavood Mudelipõhised rakendused Power Platform CLI |
Lisab või leiab erinevuse kuupäeva/aja väärtustes ja teisendab kohaliku aja ja UTC vahel.
Kirjeldus
Funktsioon DateAdd lisab kuupäeva/kellaaja väärtusele ühikute arvu. Tulemuseks on uus kuupäeva/kellaaja väärtus. Negatiivse väärtuse määramisel saate ka lahutada kuupäeva/kellaaja väärtusest ühikute arvu.
Funktsioon DateDiff tagastab kahe kuupäeva/kellaaja väärtuste vahe. Tulemuseks on täisarv ühikuid.
Mõlema funktsiooni puhul võivad ühikud olla TimeUnit.Milliseconds,TimeUnit.Seconds,TimeUnit.Minutes,TimeUnit.Hours,TimeUnit.Days,TimeUnit.Months,TimeUnit.Quarters või TimeUnit.Years. Vaikimisi kasutavad mõlemad funktsioonid ühikutena väärtust TimeUnit.Days .
Funktsioon TimeZoneOffset tagastab kasutaja kohaliku aja ja UTC (koordineeritud maailmaaja) vahelise minutite arvu.
Saate kasutada funktsioone DateAdd koos funktsiooniga TimeZoneOffset, et teisendada kasutaja kohalik aeg UTC-ks (koordineeritud maailmaajaks) ja vastupidi. Funktsiooni TimeZoneOffset lisamine muudab kohaliku aja UTC-ks ja selle lahutamine (negatiivse lisamine) teisendab UTC kohalikuks ajaks.
Lisateavet leiate ka teemadest Kuupäev, kellaaeg ja DateTime ning kuupäevade ja kellaaegadega töötamine.
Süntaks
DateAdd( DateTime; Addition [, Units ] )
- DateTime - nõutav. Kuupäeva/kellaaja väärtus, millega töötada.
- Lisamine - nõutav. Arv Ühikutes, lisamiseks andmetüübile DateTime.
- Ühikud - valikuline. Lisatavate ühikute tüüp: TimeUnit.Milliseconds,TimeUnit.Seconds,TimeUnit.Minutes,TimeUnit.Hours,TimeUnit.Days,TimeUnit.Months,TimeUnit.Quarters või TimeUnit.Years. Kui pole määratud, kasutatakse TimeUnit.Days .
DateDiff(StartDateTime,EndDateTime [, Ühikud ] )
- StartDateTime - nõutav. Alguse kuupäeva ja kellaja väärtus.
- EndDateTime - nõutav. Lõpu kuupäeva ja kellaja väärtus.
- Ühikud - valikuline. Lahutatavate ühikute tüüp: TimeUnit.Milliseconds,TimeUnit.Seconds,TimeUnit.Minutes,TimeUnit.Hours,TimeUnit.Days,TimeUnit.Months,TimeUnit.Quarters või TimeUnit.Years. Kui pole määratud, kasutatakse TimeUnit.Days .
TimeZoneOffset( [ DateTime ] )
- DateTime - valikuline. Kuupäeva/kellaaja väärtus, mille jaoks soovite tagastada erinevuse. Vaikimisi kasutatakse praegust kuupäeva/kellaaega.
Näited
Kõik need näited eeldavad, et praegune kuupäev ja kellaaeg on 15. juuli 2013, 1:02 PM.
Lihtne DateAdd
Valem | Kirjeldus | Tulem |
---|---|---|
text( DateAdd( Now(), 3 ), "dd-mm-yyyy hh:mm" ) |
Liidab praegusele kuupäevale ja kellaajale kolm päeva (vaikimisi ühikud). | "18-07-2013 13:02" |
text( DateAdd( Now(), 4, TimeUnit.Hours ), "dd-mm-yyyy hh:mm" ) |
Saate praegusele kuupäevale ja kellaajale lisada neli tundi. | "15-07-2013 17:02" |
text( DateAdd( Today(), 1, TimeUnit.Months ), "dd-mm-yyyy hh:mm" ) |
Lisab tänasele kuupäevale ühe kuu, ilma ajata Täna ei tagasta ajakomponenti. | "15-08-2013 00:00" |
text( DateAdd( Now(), -30, TimeUnit.Minutes ), "dd-mm-yyyy hh:mm" ) |
Lahutab 30 minutit praegusest kuupäevast ja kellaajast. | "15-07-2013 12:32" |
Lihtne DateDiff
Valem | Kirjeldus | Tulem |
---|---|---|
DateDiff( Now(), DateValue("01.01.2014") ) | Annab vastuseks kahe ühiku vaikeühikutes TimeUnit.Days | 170 |
DateDiff( Now(), DateValue("01.01.2014"), TimeUnit.Months ) | Annab vastuseks kahe väärtuse ( TimeUnit.Months). | 6 |
DateDiff( Now(), Today(), TimeUnit.Minutes ) | Tagastab praeguse kuupäeva/kellaaja ja praeguse kuupäeva (mitte kellaaja) vahe ainult minutites. Kuna Praegu on hilisem kui Täna, on tulemus negatiivne. | -782 |
Murdarvuliste tulemustega kuupäevade erinevus
Funktsioon DateDiff tagastab ainult täisarvu lahutatud ühikuid ja täpsus on määratud ühikus. Kui soovite erinevust arvutada suurema täpsusega, kasutage väiksemat ühikut ja teisendage tulemus sobivalt, nagu allpool toodud näidetes.
Valem | Kirjeldus | Tulemus |
---|---|---|
DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Hours ) | Minutit/sekundit eiratakse, erinevus põhineb kellaajal kuni tunnini. | 1 |
DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Minutes )/60 | Minutit kasutatakse erinevuses ja tulemus on jagatud 60-ga, nii et erinevus tundides on erinev. | 0.5 |
DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Seconds )/3600 | Minutit ja sekundit kasutatakse erinevuses ja tulemus on jagatud 3600-ga, nii et erinevus tundides on erinev. | 0.51 |
Teisendamine UTC-ks
Selleks et teisendada UTC-ks (koordineeritud maailmaaeg), lisage TimeZoneOffset antud kellaaja jaoks.
Kujutlege näiteks praegust kuupäeva ja kellaaega 15. juulil 2013, 13:02 Vaikse ookeani suveaeg (PDT, UTC-7). Praeguse kellaaja määramiseks UTC-s tehke järgmist.
- DateAdd( Now(), TimeZoneOffset(), TimeUnit.Minutes )
TimeZoneOffset on vaikimisi praegusel kellaajal, nii et te ei pea seda argumenti edastama.
Tulemuse nägemiseks kasutage gunktsiooni Text vorminguga dd-mm-yyyy hh:mm, mis naaseb 15-07-2013 20:02.
Teisendamine UTC-st
UTC-ist teisendamiseks lahutage TimeZoneOffset (lisades negatiivse) antud aja jaoks.
Näiteks kujutlege UTC kuupäev ja kellaaeg 15. juuli 2013, 20:02 on salvestatud muutujas nimega StartTime. Kasutaja ajavööndi kellaaja kohandamiseks tehke järgmist.
- DateAdd( Algusaeg, −TimeZoneOffset( Algusaeg ), TimeUnit.Minutes )
Pange tähele negatiivset märki enne funktsiooni TimeZoneOffset, et lahutada erinevus, mitte liita.
Tulemuse nägemiseks kasutage funktsiooni Text vormingus dd-mm-yyyy hh:mm, mille tulemuseks on 15-07-2013 13:02, kui teil on Vaikse ookeani suveaeg.