Megosztás:


DateAdd, DateDiffés TimeZoneOffset függvények

Functions Érvényesség
DateAdd
DateDiff
Vászonalapú alkalmazások Copilot Studio Desktop folyamatok Dataverse képletoszlopok Modellalapú alkalmazások Power Platform CLI Dataverse-függvények Power Pages
TimeZoneOffset Vászonalapú alkalmazások Copilot Studio Desktop folyamatok Modellalapú alkalmazások Power Platform CLI Dataverse függvények Power Pages
Function Érvényesség
DateAdd
DateDiff
TimeZoneOffset

Adatok dátum- és időértékekhez történő hozzáadására, dátum- és időértékek közötti különbség meghatározására, illetve a helyi idő és az egyezményes világidő közötti átváltásra használhatók.

Ismertetés

A DateAdd függvény több egységet ad hozzá egy dátum/idő értékhez. Az eredmény egy új dátum- és időérték lesz. Negatív érték megadásával a dátum- és időértékeket csökkentheti adott egységgel.

A DateDiff függvény két dátum/idő érték különbségét adja vissza. Az eredmény a mértékegységek egész száma.

Mindkét függvény mértékegysége lehet TimeUnit.Milliseconds, TimeUnit.Seconds, TimeUnit.Minutes, TimeUnit.Hours, TimeUnit.Days, TimeUnit.Months, TimeUnit.Quarters, vagy TimeUnit.Years. Alapértelmezés szerint mindkét függvény a TimeUnit.Days függvényt használja egységként.

A TimeZoneOffset függvény a felhasználó helyi ideje és az UTC (egyezményes világidő) közötti percek számát adja vissza.

A használatával DateAdd átválthat a TimeZoneOffset felhasználó helyi ideje és az UTC (egyezményes világidő) között. A hozzáadással TimeZoneOffset a helyi idő UTC-vé alakul, és a kivonás (a negatív hozzáadása) utc-ről helyi időre változik.

További információt a Dátum, idő és DateIdő adattípusok és a Dátumok és időpontok használata című témakörben talál.

Szintaxis

DateAdd( DateTime, Addition [, Units ] )

  • DateTime - Kötelező. A művelethez használandó dátum- és időérték.
  • Kiegészítés - kötelező. A DateTime értékhez hozzáadandó Egységek száma.
  • Egységek - opcionális. A hozzáadni kívánt egységek típusa: TimeUnit.Milliseconds, TimeUnit.Seconds, TimeUnit.Minutes, TimeUnit.Hours, TimeUnit.Days, TimeUnit.Month, TimeUnit.Quarters vagy TimeUnit.Years. Ha nincs megadva, a rendszer a TimeUnit.Days értéket használja.

DateDiff( StartDateTime, EndDateTime [, Egységek ] )

  • StartDateTime – Kötelező. A kezdő dátum- és időérték.
  • EndDateTime – Kötelező. A befejező dátum- és időérték.
  • Egységek - opcionális. A kivonandó egységek típusa: TimeUnit.Milliseconds, TimeUnit.Seconds, TimeUnit.Minutes, TimeUnit.Hours, TimeUnit.Days, TimeUnit.Month, TimeUnit.Quarters vagy TimeUnit.Years. Ha nincs megadva, a rendszer a TimeUnit.Days értéket használja.

TimeZoneOffset( [ DateTime ] )

  • DateTime – Nem kötelező. Az a dátum- és időérték, amelynek az eltolását vissza kell adni. Alapértelmezés szerint az aktuális dátumot és időpontot használja a rendszer.

Példák

Az alábbi példákban az aktuális dátum és időpont 2013. július 15., 13:02.

Egyszerű DateAdd

Képlet Ismertetés Eredmény
Text( DateAdd( Now(), 3 ),
"dd-mm-yyyyy hh:mm" )
Három nap (az alapértelmezett időegység) hozzáadása az aktuális dátumhoz és időponthoz. "18-07-2013 13:02"
Text( DateAdd( Now(), 4, TimeUnit.Hours ),
"dd-mm-yyyyy hh:mm" )
Négy óra hozzáadása az aktuális dátumhoz és időponthoz. "15-07-2013 17:02"
Text( DateAdd( Today(), 1, TimeUnit.Months ),
"dd-mm-yyyyy hh:mm" )
Egy hónap hozzáadása az aktuális dátumhoz, időpont nélkül, mivel a Today (Ma) függvény nem ad vissza időpont-összetevőt. "15-08-2013 00:00"
Text( DateAdd( Now(), -30, TimeUnit.Minutes ),
"dd-mm-yyyyy hh:mm" )
30 perc kivonása az aktuális dátumból és időpontból. "15-07-2013 12:32"

Egyszerű DateDiff

Képlet Ismertetés Eredmény
DateDiff( Now(), DateValue("2014.01.01.") ) A két egység közötti különbséget adja eredményül a TimeUnit.Days alapértelmezett mértékegységében 170
DateDiff( Now(), DateValue("1/1/2014"), TimeUnit.Months ) A TimeUnit.Month függvényben megadott két érték különbségét adja eredményül 6
DateDiff( Now(), Today(), TimeUnit.Minutes ) Az aktuális dátum és időpont, illetve az aktuális (időpont nélküli) dátum közötti különbség visszaadása percben. Mivel a Now (Most) értéke későbbi, mint a Today (Ma) értéke, az eredmény negatív lesz. -782

Dátumok közötti különbség és a részeredmények

A függvény DateDiff csak a kivonandó egységek egész számát adja vissza, a pontosság pedig a megadott egységben van megadva. A különbség nagyobb pontosságú kiszámításához használjon kisebb egységet, és az eredményt ennek megfelelően alakítsa át, mint az alábbi példákban.

Képlet Ismertetés Eredmény
DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Hours ) A rendszer figyelmen kívül hagyja a perceket/másodpercet, a különbség az órára kerekített időn alapul. 1
DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Minutes )/60 A perceket a különbségben használják, az eredményt pedig 60-nal osztják, hogy a különbséget órában kapják meg. 0.5
DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Seconds )/3600 A perceket és másodperceket a különbségben használják, az eredményt pedig 3600-nal osztják, hogy a különbséget órában kapják meg. 0.51

Átváltás UTC-re

Az UTC (koordinált egyetemes idő) időpontra való konvertáláshoz adja hozzá az TimeZoneOffset adott időpontot.

Tegyük fel például, hogy az aktuális dátum és időpont 2013. július 15., 13:02 a csendes-óceáni nyári idő (PDT UTC-7) szerint. Az UTC szerinti aktuális idő meghatározásához használja a következő képletet:

  • DateAdd( Now(), TimeZoneOffset(), TimeUnit.Minutes )

TimeZoneOffset alapértelmezett érték az aktuális időpontra, ezért nem kell argumentumot megadnia.

Az eredmény megjelenítéséhez használja a Text függvényt az dd-mm-yyyy hh:mm formátummal, amely a 15-07-2013 20:02 értéket fogja visszaadni.

Átváltás UTC-ről

Az UTC-ből való konvertáláshoz vonja ki a TimeZoneOffset (negatív érték hozzáadásával) értéket az adott időpontra.

Tegyük fel például, hogy az UTC szerinti dátum és időpont 2013. július 15., 20:02, amely a StartTime változóban van tárolva. Az idő felhasználó időzónájára való átváltásához használja az alábbi képletet:

  • DateAdd( StartTime, −TimeZoneOffset( StartTime ), TimeUnit.Minutes )

Jegyezze fel a negatív előjelet, TimeZoneOffset hogy a hozzáadás helyett kivonja az eltolást.

Az eredmény megjelenítéséhez használja a Text függvényt az dd-mm-yyyy hh:mm formátummal. Az eredmény 15-07-2013 13:02 lesz, ha Ön a csendes-óceáni nyári idő szerinti időzónában tartózkodik.