Funkcje Now, Today, IsToday, UTCNow, UTCToday i IsUTCToday
Dotyczy: Aplikacje kanwy Przepływy Dataverse pulpitu Kolumny z formułami Aplikacje oparte na modelu Interfejs Power Pages Power Platform wiersza polecenia
Zwraca bieżącą datę i godzinę oraz sprawdza, czy wartość daty/godziny przypada dzisiaj.
Uwaga
Polecenia PAC CLI pac power-fx nie obsługują funkcji UTCNow,UTCToday i IsUTCToday.
Popis
Funkcja Now zwraca bieżącą datę i godzinę w postaci wartości daty/godziny.
Funkcja Today zwraca bieżącą datę w postaci wartości daty/godziny. Część godzinowa to północ. Dzisiaj ma tę samą wartość w ciągu dnia, od północy dzisiaj do północy jutro.
Funkcja IsToday sprawdza, czy wartość daty/godziny przypada między północą dnia dzisiejszego a północą dnia jutrzejszego. Ta funkcja zwraca wartość logiczną (true lub false).
Funkcje Now, Today i IsToday działają z czasem lokalnym bieżącego użytkownika.
Funkcje UTCNow,UTCToday i IsUTCToday są takie same jak ich odpowiedniki inne niż UTC, ale działają z wartościami niezależnymi od strefy czasowej i używają uniwersalnego czasu koordynowanego (UTC).
Uwaga
- Wartości UTCNow, UTCToday i IsUTCToday są dostępne tylko w Microsoft Dataverse for Teams kolumnach formuł i tylko dla pól i wartości niezależnych od czasu.
- Now, Dzisiaj i IsToday nie są dostępne w Dataverse for Teams kolumnach formuł, ponieważ oceny są wykonywane bez znajomości lokalnej strefy czasowej bieżącego użytkownika.
Więcej informacji: Praca z kolumnami tabeli formuł w programie Dataverse for Teams
Zobacz Typy danych Date, Time i DateTime w dokumentacji typów danych oraz Praca z datami i godzinami, aby uzyskać więcej informacji.
Funkcje nietrwałe
Teraz,Dzisiaj,UTCNow i UTCToday są funkcjami niestabilnymi. Te funkcje zwracają inną wartość do każdej oceny.
Funkcja nietrwała używana w formule przepływu danych zwróci inną wartość tylko wtedy, gdy formuła, w której ta funkcja się znajduje, zostanie obliczona ponownie. Jeśli nic innego się nie zmieni, funkcja będzie mieć taką samą wartość podczas wykonywania aplikacji.
Na przykład kontrolka etykiety z tekstem Label1.Text = Now() nie ulegnie zmianie, gdy aplikacja będzie aktywna. Tylko zamknięcie i ponowne otwarcie aplikacji spowoduje zwrócenie nowej wartości.
Funkcja zostanie obliczona ponownie, jeśli jest częścią formuły, w której zmienił się inny element. Jeśli na przykład zmienimy nasz przykład tak, aby uwzględniał kontrolkę suwaka z tekstem Label1.Text = DateAdd( Now(), Slider1.Value, Minutes ), bieżący czas będzie pobierany za każdym razem, gdy wartość kontrolki Slider zmieni się, a właściwość tekstu etykiety będzie ponownie obliczana.
W przypadku użycia w formule zachowania funkcje nietrwałe będą obliczane zawsze, gdy będzie obliczana wartość formuły zachowania. Zobacz przykład poniżej.
Składnia
Używanie lokalnej strefy czasowej użytkownika
Teraz()
Dzisiaj()
IsToday( DateTime )
- Data/godzina - wymagane. Wartość daty/godziny do sprawdzenia.
Używanie uniwersalnego czasu koordynowanego (UTC)
UTCNow()
UTCToday()
IsUTCToday( StrefaCzasowaNiezależnaCzas )
- TimeZoneIndependentDateTime - wymagane. Strefa czasowa to wartość niezależnie od daty/czasu, która ma być przetestowana.
Przykłady
Przykładowo w tej sekcji bieżąca godzina to 8:58 PM dnia 11 lipca 2021 standardowego czasu pacyficznego (UTC-8), a językiem jest en-us.
Formuła | Opis | Wynik |
---|---|---|
Text( Now(), "mm/dd/rrrr gg:mm:ss" ) | Pobiera bieżącą datę i godzinę w strefie czasowej użytkownika, a następnie wyświetla je jako ciąg. | „07/11/2021 20:58:00” |
Text( Today(), "mm/dd/rrrr gg:mm:ss" ) | Pobiera tylko bieżącą datę, pozostawiając fragment z godziną jako odpowiadający północy, i wyświetla wszystko jako ciąg. | „07/12/2021 00:00:00” |
IsToday( Now() ) | Sprawdza, czy bieżąca data i godzina przypadają między północą dnia dzisiejszego a północą dnia jutrzejszego. | prawdziwy |
IsToday( Dzisiaj() ) | Sprawdza, czy bieżąca data przypada między północą dnia dzisiejszego a północą dnia jutrzejszego. | prawdziwy |
Text( DateAdd( Now(), 12 ), "mm/dd/rrrr gg:mm:ss" ) | Pobiera bieżącą datę i godzinę, dodaje do wyniku 12 dni, a następnie wyświetla je jako ciąg. | „07/23/2021 20:58:00” |
Text( DateAdd( Today(), 12 ), "mm/dd/rrrr gg:mm:ss" ) | Pobiera bieżącą datę, dodaje do wyniku 12 dni, a następnie wyświetla wynik jako ciąg. | „07/23/2021 00:00:00” |
IsToday( DateAdd( Now(), 12 ) ) | Sprawdza, czy bieżąca data i godzina, plus 12 dni, przypadają między północą dnia dzisiejszego a północą dnia jutrzejszego. | fałszywy |
IsToday( DateAdd( Today(), 12 ) ) | Sprawdza, czy bieżąca data, plus 12 dni, przypada między północą dnia dzisiejszego a północą dnia jutrzejszego. | fałszywy |
Godzina( UTCNow() ) | Pobiera bieżącą datę i godzinę w czasie UTC oraz wyodrębnia tylko godzinę, czyli 8 godzin przed godziną lokalną. | 100 |
Dzień( UTCToday() ) | Pobiera bieżącą datę tylko w UTC i wyodrębnia dzień, który jest o 1 dzień do przodu przed czasem lokalnym. | 12 |
IsUTCToday( UTCNow() ) | Sprawdza, czy bieżąca data i godzina przypadają między północą dnia dzisiejszego a północą dnia jutrzejszego, wszystko w czasie UTC. | prawdziwy |
IsUTCToday( UTCToday() ) | Sprawdza, czy bieżąca data przypada między północą dnia dzisiejszego a północą dnia jutrzejszego, wszystko w czasie UTC. | prawdziwy |
Wyświetlanie zegara aktualizowanego w czasie rzeczywistym
Dodaj kontrolkę Timer, ustaw jej właściwość Duration na 1000, a następnie ustaw właściwość Repeat na prawda.
Czasomierz będzie działać przez jedną sekundę, automatycznie rozpocznie pracę od początku, a następnie będzie kontynuować zgodnie z tym wzorcem.
Ustaw właściwość OnTimerEnd kontrolki na następującą formułę:
Set( Bieżący czas, Teraz() )
Za każdym razem, gdy czasomierz rozpocznie działanie od początku (po każdej sekundzie), ta formuła zostanie ustawiona na zmienną globalną CurrentTime funkcji Now.
Dodaj kontrolkę Label i ustaw jej właściwość Text na następującą formułę:
Tekst( Bieżący czas, Długi czas24 )
Funkcja Text służy do formatowania daty i godziny w dowolny sposób lub ustawiania tej właściwości na wartość CurrentTime w celu pokazania godzin i minut, ale nie sekund.
Wyświetl podgląd aplikacji, naciskając klawisz F5, a następnie uruchom czasomierz przez kliknięcie lub dotknięcie.
Etykieta stale pokazuje bieżącą godzinę, łącznie z sekundami.
Ustaw właściwość AutoStart czasomierza na true i właściwość Visible na false.
Czasomierz jest niewidoczny i uruchamia się automatycznie.
Ustaw właściwość OnStart ekranu tak, aby zmienna CurrentTime miała prawidłową wartość, tak jak w poniższym przykładzie:
Set(CurrentTime, Now())
Etykieta pojawia się zaraz po uruchomieniu aplikacji (zanim czasomierz będzie działać przez pełną sekundę).