Now-, Today-, IsToday-, UTCNow-, UTCToday- ja IsUTCToday-funktio

Koskee seuraavia: Pohjaan perustuvat sovellukset Työpöytätyönkulut Dataverse -kaavasarakkeet Mallipohjaiset sovellukset Power Platform CLI

Palauttaa nykyisen päivämäärän ja ajan ja testaa, vastaako päivämäärä/aika-arvo tätä päivää.

Muistiinpano

PAC CLI pac power-fx -komennot eivät tue UTCNow-, UTCToday- ja IsUTCToday-funktioita.

Description

Now-funktio palauttaa nykyisen päivämäärän ja ajan päivämäärä/aika-arvona.

Today-funktio palauttaa nykyisen päivämäärän päivämäärä/aika-arvona. Aikaosa vastaa keskiyötä. Today-funktiolla on sama arvo koko päivän ajan tämän päivän keskiyöstä huomiseen keskiyöhön.

IsToday-funktiolla testataan, onko päivämäärä/aika-arvo tämän päivän keskiyön ja huomisen keskiyön välillä. Tämä funktio palauttaa totuusarvon (true tai false).

Now-, Today- ja IsToday-funktiot toimivat nykyisen käyttäjän paikallisen ajan kanssa.

UTCNow-, UTCToday- ja IsUTCToday-funktiot ovat samat kuin näiden vastaavat ei-UTC-funktiot, mutta ne toimivat aikavyöhykeriippumattomissa arvoissa ja käyttävät UTC-aikaa.

Muistiinpano

  • UTCNow, UTCToday ja IsUTCToday ovat ainoat käytettävissä olevat Microsoft Dataverse for Teamsin kaavasarakkeet, jotka toimivat aikariippumattomissa kentissä ja arvoissa.
  • Now, Today ja IsToday eivät ole käytettävissä Dataverse for Teamsin kaavasarakkeissa, koska arvioinnit tehdään ilman tietoa nykyisen käyttäjän aikavyöhykkeestä.
    Lisätietoja: Dataverse for Teamsin kaavataulukon sarakkeiden käsitteleminen

Lisätietoja on päivämäärä-, aika- ja päivämäärä/aika-tietotyyppien ohjeissa ja Päivämäärien ja kellonaikojen käsitteleminen -kohdassa.

Muuttuvat funktiot

Now, Today, UTCNow ja UTCToday ovat muuttuvia funktioita. Nämä toiminnot palauttavat eri arvon kullekin arvioinnille.

Kun muuttuvaa funktiota käytetään tietotyönkulun kaavassa, muuttuva funktio palauttaa eri arvon vain arvioitaessa uudelleen kaavaa, jossa se esiintyy. Jos mitään muuta ei muuteta kaavassa, sillä on sama arvo koko sovelluksesi suorittamisen ajan.

Esimerkiksi nimen ohjausobjekti, jossa Label1.Text = Now(), ei muutu, kun sovelluksesi on aktiivinen. Uusi arvo luodaan vain sulkemalla sovellus ja avaamalla se uudelleen.

Funktio arvioidaan uudelleen, jos se on osa kaavaa, jossa jotakin muuta kohtaa on muutettu. Jos lisäämme esimerkkiimme slider-ohjausobjektin, jossa Label1.Text = DateAdd (Now(), Slider1.Value, Minutes), senhetkinen aika noudetaan aina, kun Slider-ohjausobjektin arvo muuttuu ja otsikon tekstin ominaisuutta arvioidaan uudelleen.

Kun sitä käytetään käytöskaavassa, muuttuvia funktioita arvioidaan aina, kun käytöskaavaa arvioidaan. Katso esimerkki alta.

Syntaksi

Käyttäjän paikallisen ajan käyttäminen

Now()

Today()

IsToday( DateTime )

  • DateTime – Pakollinen. Testattava päivämäärä/aika-arvo.

Käytetään UTC-aikaa

UTCNow()

UTCToday()

IsUTCToday(TimeZoneIndependentTime)

  • TimeZoneIndependentDateTime – pakollinen. Aikavyöhykkeen testattava itsenäinen päivämäärä/aika-arvo.

Esimerkkejä

Tässä osassa on esimerkkejä, joissa nykyinen aika on 8:58 PM11.7.2021, Tyynenmeren aikavyöhyke (UTC-8), ja kieli on en-us.

Kaava Kuvaus Tulos
Text( Now(), "mm/dd/yyyy hh:mm:ss" ) Hakee nykyisen päivämäärän ja ajan käyttäjän aikavyöhykkeessä ja näyttää tuloksen merkkijonona. "07/11/2021 20:58:00"
Text( Today(), "mm/dd/yyyy hh:mm:ss" ) Hakee vain nykyisen päivämäärän, jättää aikaosan keskiyöhön ja näyttää tuloksen merkkijonona. "07/12/2021 00:00:00"
IsToday( Now() ) Testaa, onko nykyinen päivämäärä ja aika tämän päivän keskiyön ja huomisen keskiyön välillä. true
IsToday( Today() ) Testaa, onko nykyinen päivämäärä tämän päivän keskiyön ja huomisen keskiyön välillä. true
Text( DateAdd( Now(), 12 ), "mm/dd/yyyy hh:mm:ss" ) Hakee nykyisen päivämäärän ja ajan, lisää tulokseen 12 päivää ja näyttää tuloksen merkkijonona. "07/23/2021 20:58:00"
Text( DateAdd( Today(), 12 ), "mm/dd/yyyy hh:mm:ss" ) Hakee nykyisen päivämäärän, lisää tulokseen 12 päivää ja näyttää tuloksen merkkijonona. "07/23/2021 00:00:00"
IsToday( DateAdd( Now(), 12 ) ) Testaa, onko nykyinen päivämäärä ja aika plus 12 päivää tämän päivän keskiyön ja huomisen keskiyön välillä. false
IsToday( DateAdd( Today(), 12 ) ) Testaa, onko nykyinen päivämäärä plus 12 päivää tämän päivän keskiyön ja huomisen keskiyön välillä. false
Hour( UTCNow() ) Hakee nykyisen päivämäärän ja ajan UTC-aikana ja poimii vain tunnin, joka on 8 tuntia edellä paikallista aikaa. 4
Day( UTCToday() ) Hakee vain nykyisen päivämäärän UTC-aikana ja poimii päivän, joka on 1 päivä edellä paikallista aikaa. 12
IsUTCToday( UTCNow() ) Testaa, onko nykyinen päivämäärä ja aika tämän päivän keskiyön ja huomisen keskiyön välillä UTC-ajassa. true
IsUTCToday( UTCToday() ) Testaa, onko nykyinen päivämäärä tämän päivän keskiyön ja huomisen keskiyön välillä UTC-ajassa. true

Reaaliaikaisesti päivittyvän kellon näyttäminen

  1. Lisää Timer-ohjausobjekti, määritä sen Duration-ominaisuuden arvoksi 1 000 ja sen Repeat-ominaisuudeksi true.

    Ajastin käy sekunnin ja aloittaa automaattisesti alusta jatkaen tätä mallia.

  2. Määritä ohjausobjektin OnTimerEnd-ominaisuus tähän kaavaan:

    Set( CurrentTime, Now() )

    Aina, kun ajastin aloittaa alusta (jokaisen sekunnin jälkeen), tämä kaava määrittää yleisen CurrentTime-muuttujan Now-funktion nykyiseen arvoon.

    Näyttö, joka sisältää ajastimen ohjausobjektin ja kaavan OnTimerEnd = Set(CurrentTime, Now()).

  3. Lisää Label-ohjausobjekti ja määritä sen Text-ominaisuudeksi seuraava kaava:

    Text( CurrentTime, LongTime24 )

    Voit Text-funktion avulla muotoilla päivämäärän ja ajan haluamaksesi tai määrittää täksi ominaisuudeksi CurrentTime, jotta se näyttää tunnit ja minuutit sekuntien sijasta.

    Näyttö, joka sisältää selitteen ohjausobjektin, jossa Teksti-ominaisuudeksi on määritetty Text( CurrentTime, LongTime24).

  4. Voit esikatsella sovellusta painamalla F5 ja käynnistää sitten ajastimen napsauttamalla tai napauttamalla sitä.

    Selite näyttää jatkuvasti senhetkisen ajan sekunteihin asti.

    Neljä näyttöä, jotka näyttävät neljä aika-arvoa (13:50:22, 13:50:45, 13:51:03 ja 13:51:25).

  5. Määritä ajastimen AutoStart-ominaisuudeksi true ja Visible-ominaisuudeksi false.

    Ajastin on näkymätön ja käynnistyy automaattisesti.

  6. Määritä näytön OnStart-ominaisuus, jotta CurrentTime-muuttujalla on voimassaoleva arvo, kuten seuraavassa esimerkissä:

    Set(CurrentTime, Now())

    Selite tulee näkyviin heti, kun sovellus käynnistyy (ennen kuin ajastin käy koko sekunnin ajan).