Funkce Now, Today, IsToday, UTCNow, UTCToday, IsUTCToday
Platí pro: aplikace na plátně toky na počítači Dataverse sloupce vzorců aplikace řízené modelem Power Pages Power Platform CLI
Umožňují vrátit aktuální datum a čas a otestovat, jestli hodnota data a času odpovídá dnešku.
Poznámka:
PAC CLI příkazy pac power-fx nepodporují UTCNow, UTCToday, a IsUTCToday funkce.
Description
Funkce Now vrátí aktuální datum a čas jako hodnotu typu datum a čas.
Funkce Today vrátí aktuální datum jako hodnotu typu datum a čas. Jako čas se předpokládá půlnoc. Dnešek má stejnou hodnotu po celý den, od dnešní půlnoci do zítřejší půlnoci.
Funkce IsToday testuje, jestli je hodnota data a času mezi půlnocí na dnešek a půlnocí na zítra. Tato funkce vrátí logickou hodnotu (true nebo false).
Nyní funkce, Today a IsToday pracují s místním časem aktuálního uživatel.
Funkce UTCNow, UTCToday a IsUTCToday jsou stejné jako jejich funkce mimo UTC protějšky, ale pracují s hodnotami nezávislými na časovém pásmu a používají koordinovaný světový čas (UTC).
Poznámka:
- UTCNow, UTCToday a IsUTCToday jsou dostupné pouze v Microsoft Dataverse for Teams sloupce vzorce a pouze pro časově nezávislá pole a hodnoty.
- Nyní, Dnes a IsToday nejsou dostupné v Dataverse for Teams sloupce vzorce, protože vyhodnocení se provádí bez znalosti místního časového pásma aktuálního uživatele.
Více informací: Práce se sloupci tabulky vzorců v Dataverse for Teams
Další informace viz Date, Time a DateTime v dokumentaci k datových typům a práce s daty a časy.
Nestálé funkce
Nyní, Dnes, UTCNow a UTCToday jsou těkavé funkce. Tyto funkce vracejí pro každé vyhodnocení jinou hodnotu.
Když nestálou funkci použijete ve vzorci toku dat, vrátí jinou hodnotu pouze v případě, že se tento vzorec znovu vyhodnotí. Pokud se ve vzorci nic jiného nemění, bude mít funkce po celou dobu spuštění aplikace stejnou hodnotu.
Například ovládací prvek Label se vzorce Label1.Text = Now() se nezmění, když je aplikace aktivní. Nová hodnota se objeví, pouze pokud aplikaci zavřete a znovu ji otevřete.
Pokud je funkce součástí vzorce, ve kterém se změnilo ještě něco jiného, vyhodnotí se znovu. Například když náš vzorec změníme tak, aby obsahoval ovládací prvek Slider se vzorcem Label1.Text = DateAdd( Now(); Slider1.Value; Minutes ), aktuální čas se načte pokaždé, když se hodnota Posuvníku změní, a vlastnost Text ovládacího prvku Label se znovu vyhodnotí.
Když se nestálé funkce použijí ve vzorci chování, vyhodnotí se pokaždé zároveň se vzorcem chování. Níže najdete příklad.
Syntaxe
Použití místního času uživatele
Nyní()
Dnes()
Je dnes( Datum a čas )
- DateTime – Povinné. Hodnota data a času, která se má otestovat.
Používání koordinovaného světového času (UTC)
UTCNow()
UTCToday()
IsUTCToday( TimeZoneIndependentTime )
- TimeZoneIndependentDateTime – povinné. Hodnota data/času nezávislá na časovém pásmu, která se má testovat.
Příklady
Pro příklady v této části je aktuální čas 20:58 11. července 2021 v tichomořském časovém pásmu (UTC-8) a jazyk je en-us.
Vzorec | Popis | Výsledek |
---|---|---|
Text( Now(), "mm/dd/yyyy hh:mm:ss" ) | Načte aktuální datum a čas v časovém pásmu uživatele a zobrazí výsledek jako řetězec. | "07/11/2021 20:58:00" |
Text( Dnes(), "mm/dd/rrrr hh:mm:ss" ) | Načte aktuální datum a zobrazí ho jako řetězec, přičemž jako čas se nechá půlnoc. | "07/12/2021 00:00:00" |
Je dnes(nyní()) | Otestuje, jestli aktuální datum a čas je mezi půlnocí na dnešek a půlnocí na zítra. | věrný |
Je dnes(dnes()) | Otestuje, jestli aktuální datum je mezi půlnocí na dnešek a půlnocí na zítra. | věrný |
Text( DateAdd( Now(), 12), "mm/dd/yyyy hh:mm:ss" ) | Načte aktuální datum a čas, připočte 12 dnů a zobrazí výsledek jako řetězec. | "07/23/2021 20:58:00" |
Text( DateAdd( Today(), 12), "mm/dd/yyyy hh:mm:ss" ) | Načte aktuální datum, připočte 12 dnů a zobrazí výsledek jako řetězec. | "07/23/2021 00:00:00" |
IsToday( DateAdd( Now(), 12)) | Otestuje, jestli aktuální datum a čas plus 12 dnů je mezi půlnocí na dnešek a půlnocí na zítra. | falešný |
IsToday( DateAdd( Today(), 12) ) | Otestuje, jestli aktuální datum plus 12 dnů je mezi půlnocí na dnešek a půlnocí na zítra. | falešný |
Hodina (UTCNow() ) | Načte aktuální datum a čas v UTC a extrahuje pouze hodinu, což je 8 hodin před místním časem. | 4 |
Den (UTCToday() ) | Načte pouze aktuální datum v UTC a extrahuje den, což je 1 den před místním časem. | 12 |
IsUTCToday( UTCNow() ) | Otestuje, jestli aktuální datum a čas je mezi půlnocí na dnešek a půlnocí na zítra, vše ve standardu UTC. | věrný |
IsUTCToday( UTCToday() ) | Otestuje, jestli aktuální datum je mezi půlnocí na dnešek a půlnocí na zítra, vše ve standardu UTC. | věrný |
Zobrazení hodin, které se aktualizují v reálném čase
Přidejte ovládací prvek Timer, nastavte jeho vlastnost Duration na hodnotu 1000 a vlastnost Repeat nastavte na true.
Timer poběží jednu sekundu, automaticky se spustí znovu a bude tímto stylem pokračovat.
Vlastnost OnTimerEnd tohoto ovládacího prvku nastavte na následující vzorec:
Set( CurrentTime, Now() )
Vždy, když časovač začne znovu (každou sekundu), nastaví vzorec globální proměnnou CurrentTime na aktuální hodnotu funkce Now.
Přidejte ovládací prvek Label a jeho vlastnost Text nastavte na tento vzorec:
Text (CurrentTime, LongTime24)
Použijte funkci Text k naformátování data a času podle svých představ nebo tuto vlastnost nastavte jen na CurrentTime, aby zobrazovala pouze hodiny a minuty a nezobrazovala sekundy.
Zobrazte si náhled aplikace stisknutím klávesy F5 a potom kliknutím nebo klepnutím na časovač ho spusťte.
Popisek bude průběžně zobrazovat aktuální čas i se sekundami.
Nastavte vlastnost časovače AutoStart na true a jeho vlastnost Visible na false.
Timer je neviditelný a spustí se automaticky.
Nastavte vlastnost obrazovky OnStart tak, aby proměnná CurrentTime měla platnou hodnotu, jako v tomto příkladu:
Set(CurrentTime, Now())
Popisek se zobrazí ihned po spuštění aplikace (než na časovači uběhne celé sekunda).