DateAdd-, DateDiff- ja TimeZoneOffset-funktio
Function | Koskee |
---|---|
PäivämääräLisää | Pohjaan perustuvien sovellusten kaavasarakkeet Dataverse Työpöytätyönkulut Mallipohjaisten sovellusten Power Platform CLI |
DateDiff | Pohjaan perustuvien sovellusten kaavasarakkeet Dataverse Työpöytätyönkulut Mallipohjaisten sovellusten Power Platform CLI |
TimeZoneOffset | Pohjaan perustuvat sovellukset Työpöytätyönkulut Mallipohjaisten sovellusten Power Platform CLI |
Lisää tai etsii päivämäärä/aika-arvon eron ja muuntaa paikallisen ajan ja UTC-ajan välillä.
Kuvaus
DateAdd-funktio lisää yksiköitä päivämäärä/aika-arvoon. Tuloksena on uusi päivämäärä/aika-arvo. Voit myös vähentää yksiköitä päivämäärä/aika-arvosta määrittämällä negatiivisen arvon.
DateDiff-funktio palauttaa kahden päivämäärä/aika-arvon välisen eron. Tuloksena on yksiköiden määrä kokonaislukuna.
Molemmille funktioille yksiköt voivat olla TimeUnit.Milliseconds, TimeUnit.Seconds, TimeUnit.Minutes, TimeUnit.Hours, TimeUnit.Days, TimeUnit.Months, TimeUnit.Quarters tai TimeUnit.Years. Molemmat funktiot käyttävät oletusarvoisesti yksikkönä TimeUnit.Days.
TimeZoneOffset-funktio palauttaa käyttäjän paikallisen ajan ja UTC-ajan (Coordinated Universal Time) välisen aikaeron määrän minuutteina.
Voit käyttää DateAdd-funktiota TimeZoneOffset-funktion kanssa tehdäksesi muunnoksen käyttäjän paikallisen ajan ja UTC-ajan (Coordinated Universal Time) välillä. TimeZoneOffset-funktion lisääminen muuttaa paikallisen ajan UTC-ajaksi ja sen vähentäminen (negatiivisen arvon lisääminen) UTC-ajan paikalliseksi ajaksi.
Lisätietoja on myös kohdassa Päivämäärä-, aika- ja päivämäärä/aika-tietotyypit ja Päivämäärien ja kellonaikojen käsitteleminen.
Syntaksi
DateAdd(DateTime,Addition [, Units ])
- DateTime - pakollinen. Käytettävä päivämäärä/aika-arvo.
- Lisäys - pakollinen. Yksikköinä (units) annettu luku, joka lisätään DateTimeen.
- Yksiköt - valinnainen. Lisättävien yksiköiden tyyppi: TimeUnit.Milliseconds, TimeUnit.Seconds, TimeUnit.Minutes, TimeUnit.Hours, TimeUnit.Days, TimeUnit.Months, TimeUnit.Quarters tai TimeUnit.Years. Jos tätä ei määritetä, käytetään yksikköä TimeUnit.Days.
DateDiff(StartDateTime,EndDateTime [, Yksiköt ])
- StartDateTime - pakollinen. Alkupäivämäärä/aika-arvo.
- EndDateTime - pakollinen. Loppupäivämäärä/aika-arvo.
- Yksiköt - valinnainen. Vähennettävien yksiköiden tyyppi: TimeUnit.Milliseconds, TimeUnit.Seconds, TimeUnit.Minutes, TimeUnit.Hours, TimeUnit.Days, TimeUnit.Months, TimeUnit.Quarters tai TimeUnit.Years. Jos tätä ei määritetä, käytetään yksikköä TimeUnit.Days.
TimeZoneOffset( [ DateTime ] )
- DateTime- valinnainen. Päivämäärä/aika-arvo, jolle siirtymä palautetaan. Oletusarvoisesti käytetään nykyistä päivämäärä/aika-arvoa.
Esimerkit
Kaikissa näissä esimerkeissä oletetaan, että nykyinen päivämäärä ja aika on 15. heinäkuuta 2013, kello 13:02.
Yksinkertainen DateAdd
Kaava | Kuvaus | Tulos |
---|---|---|
Text( DateAdd( Now(), 3 ), "dd-mm-yyyy hh:mm" ) |
Lisää kolme päivää (oletusarvoyksiköt) nykyiseen päivämäärään ja aikaan. | "18-07-2013 13:02" |
Text( DateAdd( Now(), 4, TimeUnit.Hours ), "dd-mm-yyyy hh:mm" ) |
Lisää nykyiseen päivämäärään ja aikaan neljä tuntia. | "15-07-2013 17:02" |
Text( DateAdd( Today(), 1, TimeUnit.Months ), "dd-mm-yyyy hh:mm" ) |
Lisää nykyiseen päivämäärän yhden kuukauden ilman aikaa, koska Tänään ei palauta aikaosaa. | "15-08-2013 00:00" |
Text( DateAdd( Now(), -30, TimeUnit.Minutes ), "dd-mm-yyyy hh:mm" ) |
Vähentää nykyisestä päivämäärästä ja ajasta 30 minuuttia. | "15-07-2013 12:32" |
Yksinkertainen DateDiff
Kaava | Kuvaus | Tulos |
---|---|---|
DateDiff( Now(), DateValue("1.1.2014") ) | Palauttaa kahden arvon eron oletusyksikkönä TimeUnit.Days | 170 |
DateDiff( Now(), DateValue("1.1.2014"), TimeUnit.Months ) | Palauttaa kahden arvon eron yksikkönä TimeUnit.Months | 6 |
DateDiff( Now(), Today(), TimeUnit.Minutes ) | Palauttaa eron nykyisen päivämäärä/aika-arvon ja nykyisen päivämäärän (ei aikaa) välillä minuutteina. Koska Now on myöhäisempi kuin Today, tulos on negatiivinen. | -782 |
Päivämäärien ero ja murtolukutulokset
DateDiff-funktio palauttaa vain kokonaislukumäärän yksiköitä, jotka vähennetään, ja tarkkuus määritetään määritetyssä yksikössä. Jos haluat laskea eron tarkemmalla tarkkuudella, käytä pienempää yksikköä ja muunna tulos sopivalla tavalla kuten alla olevassa esimerkissä.
Kaava | Kuvaus | Tulos |
---|---|---|
DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Hours ) | Minuutit/sekunnit ohitetaan, ero perustuu tuntiin. | 1 |
DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Minutes )/60 | Minuutteja käytetään erossa, ja tulos jaetaan 60:llä, jotta saadan ero tunteina. | 0.5 |
DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Seconds )/3600 | Minuutteja ja sekunteja käytetään erossa, ja tulos jaetaan 3600:lla, jotta saadan ero tunteina. | 0.51 |
Muuntaminen UTC-aikaan
Voit muuntaa UTC-aikaan (Coordinated Universal Time) lisäämällä TimeZoneOffset-funktion tiettyyn aikaan.
Kuvitellaan esimerkiksi, että nykyinen päivämäärä ja aika on 15. heinäkuuta 2013, kello 13:02 Tyynenmeren kesäaikaa (PDT, UTC-7). Voit selvittää nykyisen ajan UTC-muodossa käyttämällä seuraavaa kaavaa:
- DateAdd( Now(), TimeZoneOffset (), TimeUnit.Minutes )
TimeZoneOffset käyttää oletusarvoisesti nykyistä aikaa, joten sinun ei tarvitse välittää sille argumenttia.
Jotta näet tuloksen, käytä Text-funktiota muodossa dd-mm-yyyy hh:mm, jolloin tuloksena palautetaan 15-07-2013 20:02.
Muuntaminen UTC-ajasta
Muunna UTC-ajasta vähentämällä TimeZoneOffset mistä tahansa ajasta (lisäämällä negatiivisen arvon).
Kuvitellaan esimerkiksi, että UTC-päivämäärä ja -aika 15. heinäkuuta 2013, 20:02:00 on tallennettu muuttujaan nimeltä Aloitusaika. Säädä aika käyttäjän aikavyöhykkeelle käyttämällä kaavaa:
- DateAdd( StartTime, −TimeZoneOffset ( StartTime ), TimeUnit.Minutes )
Huomaa negatiivinen etumerkki ennen TimeZoneOffset-funktiota, mikä saa aikaan aikaeron vähentämisen lisäämisen sijaan.
Jotta näet tuloksen, käytä Text-funktiota muodossa dd-mm-yyyy hh:mm, jolloin tuloksena palautetaan 15-07-2013 13:02, jos olet Tyynenmeren kesäajan aikavyöhykkeellä.