Jagamisviis:


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.