De functies Now, Today, IsToday, UTCNow, UTCToday, IsUTCToday

Van toepassing op: Canvas-apps Bureaubladstromen Dataverse-formulekolommen Modelgestuurde apps Power Platform CLI

Retourneert de huidige datum en tijd en test of een datum-/tijdwaarde vandaag is.

Notitie

PAC CLI pac power-fx-opdrachten ondersteunen de functies UTCNow, UTCToday en IsUTCToday niet.

Omschrijving

De functie Now retourneert de huidige datum en tijd als een datum-/tijdwaarde.

De functie Today retourneert de huidige datum als een datum-/tijdwaarde. Het tijdgedeelte is middernacht. Today heeft dezelfde waarde gedurende de hele dag, van vandaag middernacht tot morgen middernacht.

De functie IsToday test of een datum-/tijdwaarde tussen vandaag middernacht en morgen middernacht ligt. Deze functie retourneert een booleaanse waarde (true of false).

De functies Now, Today en IsToday werken met de lokale tijd van de huidige gebruiker.

De functies UTCNow, UTCToday en IsUTCToday zijn dezelfde als hun niet-UTC-tegenhangers, maar werken met tijdzone-onafhankelijke waarden en gebruiken Coordinated Universal Time (UTC).

Notitie

  • UTCNow, UTCToday en IsUTCToday zijn alleen beschikbaar in Microsoft Dataverse for Teams-formulekolommen en alleen voor tijdonafhankelijke velden en waarden.
  • Now, Today en IsToday zijn niet beschikbaar in Dataverse for Teams-formulekolommen aangezien evaluaties worden uitgevoerd zonder kennis van de lokale tijdzone van de huidige gebruiker.
    Meer informatie: Werken met formuletabelkolommen in Dataverse for Teams

Zie Date, Time en DateTime in de documentatie over gegevenstypen en werken met datums en tijden voor meer informatie.

Vluchtige functies

Now, Today, UTCNow en UTCToday zijn vluchtige functies. Deze functies retourneren voor elke evaluatie een andere waarde.

Wanneer een vluchtige functie in een gegevensstroomformule wordt gebruikt, retourneert deze alleen een andere waarde als de formule waarin deze wordt weergegeven, opnieuw wordt geëvalueerd. Als er niets anders verandert in de formule, heeft deze dezelfde waarde gedurende de uitvoering van uw app.

Een labelbesturingselement met Label1.Text = Now() verandert bijvoorbeeld niet wanneer uw app actief is. Alleen het sluiten en opnieuw openen van de app resulteert in een nieuwe waarde.

De functie wordt opnieuw geëvalueerd als deze deel uitmaakt van een formule waarin iets anders is gewijzigd. Als we ons voorbeeld bijvoorbeeld veranderen en een besturingselement van het type schuifregelaar gebruiken met Label1.Text = DateAdd (Now(), Slider1.Value, Minutes), wordt telkens de huidige tijd opgehaald wanneer de waarde van het besturingselement Slider verandert en de teksteigenschap van het label opnieuw wordt geëvalueerd.

Wanneer vluchtige functies worden gebruikt in een gedragsformule, worden ze telkens geëvalueerd wanneer de gedragsformule wordt geëvalueerd. Hieronder vindt u een voorbeeld.

Syntaxis

Gebruikt de lokale tijd van de gebruiker

Now()

Today()

IsToday( DateTime )

  • DateTime: vereist. De datum-/tijdwaarde die moet worden getest.

Gebruikt Coordinated Universal Time (UTC)

UTCNow()

UTCToday()

IsUTCToday( TimeZoneIndependentTime )

  • TimeZoneIndependentDateTime: vereist. De tijdzone-onafhankelijke datum/tijdwaarde om te testen.

Voorbeelden

Voor de voorbeelden in deze sectie is de huidige tijd 20:58 op 11 juli 2021 in de Pacific Time Zone (UTC-8) en de taal is en-us.

Formule Beschrijving Resultaat
Text( Now(), "mm/dd/yyyy hh:mm:ss" ) Hiermee worden de huidige datum en tijd opgehaald in de tijdzone van de gebruiker en wordt het resultaat weergegeven als een tekenreeks. "07/11/2021 20:58:00"
Text( Today(), "mm/dd/yyyy hh:mm:ss" ) Hiermee wordt alleen de huidige datum opgehaald, wordt als tijd middernacht gebruikt en wordt het resultaat weergegeven als een tekenreeks. "07/12/2021 00:00:00"
IsToday( Now() ) Test of de huidige datum en tijd tussen vandaag middernacht en morgen middernacht valt. true
IsToday( Today() ) Test of de huidige datum tussen vandaag middernacht en morgen middernacht valt. true
Text( DateAdd( Now(), 12 ), "mm/dd/yyyy hh:mm:ss" ) Hiermee worden de huidige datum en tijd opgehaald, worden 12 dagen opgeteld bij het resultaat en wordt het resultaat weergegeven als een tekenreeks. "07/23/2021 20:58:00"
Text( DateAdd( Today(), 12 ), "mm/dd/yyyy hh:mm:ss" ) Hiermee wordt de huidige datum opgehaald, worden 12 dagen opgeteld bij het resultaat en wordt het resultaat weergegeven als een tekenreeks. "07/23/2021 00:00:00"
IsToday( DateAdd( Now(), 12 ) ) Test of de huidige datum en tijd, plus 12 dagen, tussen vandaag middernacht en morgen middernacht valt. false
IsToday( DateAdd( Today(), 12 ) ) Test of de huidige datum, plus 12 dagen, tussen vandaag middernacht en morgen middernacht valt. false
Hour( UTCNow() ) Hiermee wordt de huidige datum en tijd opgehaald in UTC en wordt alleen het uur geëxtraheerd, dat 8 uur voorloopt op de lokale tijd. 4
Day( UTCToday() ) Haalt de huidige datum op in UTC en extraheert de dag, die 1 dag voorloopt op de lokale tijd. 12
IsUTCToday( UTCNow() ) Test of de huidige datum en tijd tussen vandaag middernacht en morgen middernacht valt. Alles in UTC-tijd. true
IsUTCToday( UTCToday() ) Test of de huidige datum tussen vandaag middernacht en morgen middernacht valt. Alles in UTC-tijd. true

Een klok weergeven die in realtime wordt bijgewerkt

  1. Voeg een besturingselement Timer toe, stel de eigenschap Duration van de timer in op 1000 en stel de eigenschap Repeat in op true.

    De timer wordt één seconde uitgevoerd, begint automatisch opnieuw en gaat door met dat patroon.

  2. Stel de eigenschap OnTimerEnd ven het besturingselement in op deze formule:

    Set( CurrentTime, Now() )

    Telkens wanneer de timer opnieuw begint (na elke seconde) stelt deze formule de globale variabele CurrentTime in op de huidige waarde van de functie Now.

    Een scherm met een besturingselement van het type timer met de formule OnTimerEnd = Set(CurrentTime, Now()).

  3. Voeg een besturingselement van het type Label toe en stel de eigenschap Text in op deze formule:

    Text( CurrentTime, LongTime24 )

    Gebruik de functie Text om de gewenste datum en tijd te formatteren of stel deze eigenschap in op alleen CurrentTime om uren en minuten weer te geven maar geen seconden.

    Een scherm met een besturingselement van het type label met de eigenschap Text ingesteld op Text(CurrentTime, LongTime24).

  4. Bekijk een voorbeeld van de app door op F5 te drukken en start de timer door erop te klikken of te tikken.

    Het label geeft voortdurend de huidige tijd weer, tot op de seconde.

    Vier schermen met vier tijdwaarden (13:50:22, 13:50:45, 13:51:03 en 13:51:25).

  5. Stel de eigenschap AutoStart van de timer in op true en de eigenschap Visible op false.

    De timer is onzichtbaar en start automatisch.

  6. Stel de eigenschap OnStart van het scherm in zodat de variabele CurrentTime een geldige waarde heeft, zoals in dit voorbeeld:

    Set(CurrentTime, Now())

    Het label wordt weergegeven zodra de app start (voordat de timer één hele seconde wordt uitgevoerd).