Funktionerna Now, Today, IsToday, UTCNow, UTCToday, IsUTCToday

Gäller för: Arbetsyteappar Formelkolumner Dataverse för datorflöden CLI för modellbaserade appar Power Pages Power Platform

Returnerar aktuellt datum och tid och testar om ett Date/Time-värde är i dag.

Kommentar

PAC CLI pac power-fx-kommandon stöder inte funktionerna UTCNow, UTCToday och IsUTCToday .

Beskrivning

Funktionen Now returnerar aktuellt datum och tid som ett Date/Time-värde.

Funktionen Today returnerar aktuellt datum som ett Date/Time-värde. Tidsdelen är midnatt. Idag har samma värde under hela dagen, från midnatt idag till midnatt imorgon.

Funktionen IsToday testar om ett datum-/tidsvärde är mellan midnatt i dag och midnatt i morgon. Den här funktionen returnerar ett booleskt värde (true eller false).

Funktionerna Nu, Idag och IsToday fungerar med den lokala tiden för den aktuella användaren.

Funktionerna UTCNow, UTCToday och IsUTCToday är desamma som deras motsvarigheter som inte är UTC, men fungerar med tidszonsoberoende värden och använder UTC (Coordinated Universal Time).

Kommentar

  • UTCNow,UTCToday och IsUTCToday är endast tillgängliga i Microsoft Dataverse for Teams formelkolumner och endast för tidsoberoende fält och värden.
  • Nu, Idag och ÄrIdag är inte tillgängliga i Dataverse for Teams formelkolumner eftersom utvärderingar görs utan kunskap om den aktuella användarens lokala tidszon.
    Mer information: Arbeta med kolumner i formeltabeller i Dataverse for Teams

Se Date, Time och DateTime i dokumentationen om datatyper och arbeta med datum och tid för mer information.

Ej beständiga funktioner

Now,Today,UTCNow och UTCToday är flyktiga funktioner. Dessa funktioner returnerar ett annat värde för varje utvärdering.

När en ej beständig funktion används i en dataflödesformel returneras endast ett annat värde om formeln som den ingår i utvärderas på nytt. Om inget annat ändras i formeln har den samma värde under programmets körning.

En label-kontroll med Label1.Text = Now() ändras exempelvis inte medan programmet är aktiv. Ett nytt värde skapas endast om programmet stängs och öppnas igen.

Funktionen utvärderas på nytt om den är en del av en formel som något annat har ändrats i. Om vi exempelvis ändrar vårt exempel så att det involverar en kontroll för skjutreglage med Label1.Text = DateAdd( Now(), Slider1.Value, Minutes ) hämtas den aktuella tiden varje gång kontrollen för skjutreglagets värde ändras och etikettens textegenskap utvärderas på nytt.

När ej beständiga funktioner används i en beteendeformel utvärderas de varje gång en beteendeformel utvärderas. Nedan visas ett exempel.

Syntax

Använder användarens lokala tid

Nu()

Idag()

IsToday ( DateTime )

  • DateTime – obligatoriskt. Datum-/tidsvärdet som ska testas.

Använda UTC (Coordinated Universal Time)

UTCNow()

UTCToday()

IsUTCToday( TimeZoneIndependentTime )

  • TimeZoneIndependentDateTime – Obligatoriskt. Tidszonsoberoende datum/tidsvärde som ska testas.

Exempel

För exemplen i det här avsnittet är den aktuella tiden 20:58 den 11 juli 2021 i Pacific Time Zone (UTC-8) och språket är en-us.

Formel Beskrivning Resultat
Text( Nu(), "mm/dd/åååå hh:mm:ss" ) Hämtar aktuellt datum och tid i användarens tidszon och visar det som en sträng. "07/11/2021 20:58:00"
Text( Idag(), "mm/dd/åååå hh:mm:ss" ) Hämtar endast det aktuella datumet, låter tidsdelen vara midnatt och visar det som en sträng. "07/12/2021 00:00:00"
IsToday( Nu() ) Testar om aktuellt datum och tid är mellan midnatt i dag och midnatt i morgon. sann
IsToday( Idag() ) Testar om aktuellt datum är mellan midnatt i dag och midnatt i morgon. sann
Text( DateAdd( Nu(), 12 ), "mm/dd/yyyy hh:mm:ss" ) Hämtar aktuellt datum och tid, lägger till 12 dagar i resultatet och visar det som en sträng. "07/23/2021 20:58:00"
Text( DateAdd( Today(), 12 ), "mm/dd/yyyy hh:mm:ss" ) Hämtar aktuellt datum, lägger till 12 dagar i resultatet och visar det som en sträng. "07/23/2021 00:00:00"
IsToday( DateAdd( Nu(), 12 ) ) Testar om aktuellt datum och tid, plus 12 dagar, är mellan midnatt i dag och midnatt i morgon. falsk
IsToday( DateAdd( Today(), 12 ) ) Testar om aktuellt datum, plus 12 dagar, är mellan midnatt i dag och midnatt i morgon. falsk
Timme( UTCNow() ) Hämtar aktuellt datum och tid i UTC och extraherar endast timmen, vilket är 8 timmar före lokal tid. 4
Dag( UTCToday() ) Hämtar aktuellt datum och tid endast i UTC och extraherar dagen, vilket är 1 dag före lokal tid. 12
IsUTCToday( UTCNow() ) Testar om aktuellt datum och tid är mellan midnatt i dag och midnatt i morgon, alla i UTC-tid sann
IsUTCToday( UTCToday() ) Testar om aktuellt datum är mellan midnatt i dag och midnatt i morgon, alla i UTC-tid sann

Visa en klocka som uppdateras i realtid

  1. Lägg till en Timer-kontroll, ställ in dess egenskap för Duration till 1000 och ställ in egenskapen för Repeattrue.

    Timern körs i en sekund, startar om automatiskt och fortsätter med det mönstret.

  2. Ställ in egenskapen för kontrollen OnTimerEnd till den här formeln:

    Set( CurrentTime, Nu() )

    När timern startar om (efter varje sekund) ställer den här formeln in den globala variabeln CurrentTime på det aktuella värdet i funktionen Now.

    En skärm som innehåller en timerkontroll med formeln OnTimerEnd = Set (CurrentTime, Now ()).

  3. Lägg till kontrollen Label och ange egenskapen Text till följande formel:

    Text( CurrentTime, LongTime24 )

    Använd funktionen Text för att formatera datum och tid som du önskar, eller ställ in egenskapen på CurrentTime om du vill visa timmar och minuter men inte sekunder.

    En skärm som innehåller en label-kontroll med Textegenskap inställd på Text (CurrentTime, LongTime24).

  4. Förhandsgranska appen genom att trycka på F5 och starta därefter timern genom att klicka eller trycka på den.

    Etiketten visar kontinuerligt den aktuella tiden i sekunder.

    Fyra skärmar som visar fyra tidsvärden (13:50:22, 13:50:45, 13: 51: 03 och 13:51:25).

  5. Ställ in timerns egenskap AutoStarttrue och egenskapen Visiblefalse.

    Timern är osynlig och startas automatiskt.

  6. Ställ in skärmens egenskap OnStart så att variabeln CurrentTime får ett giltigt värde, som i följande exempel:

    Ställ in (AktuellTid, Nu())

    Etiketten visas när programmet startar (innan timern körs i en hel sekund).