Pokaż tekst, daty i godziny w aplikacjach kanwy

Usługa Power Apps umożliwia dodawanie dat i godzin do aplikacji kanwy oraz formatowanie ich, aby prezentowały odpowiedni poziom szczegółowości lub odzwierciedlały ustawienia regionalne. Można także obliczyć ilość czasu między dwiema datami lub obliczyć datę występującą określoną ilość czasu przed określoną datą lub po niej. Możliwie jest także konwertowanie dat z użyciem różnych wartości (dni, miesięcy i lat) oraz konwertowanie godzin z użyciem różnych wartości (godzin, minut i sekund).

Za pomocą usługi Power Apps można na przykład dodać dane od użytkowników dotyczące kursów akcji lub spotkań z klientami, dane ze źródła zewnętrznego lub z innej aplikacji utworzonej w tej usłudze. Jeśli dane zawierają godziny podane z uwzględnieniem milisekund, w celu poprawienia czytelności warto je zaokrąglić do najbliższej minuty. Usługa pozwala też obliczyć liczbę dni pozostałych do ważnego zdarzenia. Jeśli chcesz zaplanować występujące co pięć dni spotkanie z klientem, możesz automatycznie obliczyć te daty. Jeśli data 10 maja 1985 roku jest przechowywana w osobnych polach dla dnia, miesiąca i roku, możesz je połączyć w jedną wartość. I na odwrót — datę można podzielić na osobne wartości, jeśli wymaga tego aplikacja.

Wymagania wstępne

  • Utwórz konto w usłudze Power Apps, a następnie zaloguj się, używając tych samych poświadczeń, co podczas tworzenia konta.
  • Utwórz aplikację lub otwórz istniejącą aplikację w Power Apps.
  • Dowiedz się, jak skonfigurować kontrolkę w Power Apps.

Pokazywanie tekstu na kontrolce etykiety

Tekst na kontrolce Etykieta można pokazać, ustawiając wartość jej właściwości Text. Ustaw tę właściwość, wpisując tekst bezpośrednio w kontrolce lub wpisując wyrażenia na pasku formuły.

  • Jeśli wpiszesz tekst bezpośrednio w kontrolce, będzie on wyświetlany w dokładnie takiej samej postaci, w jakiej został wpisany.
  • Jeśli wpiszesz wyrażenie na pasku formuły, kontrolka pokaże wynik wyrażenia.

Oto kilka przykładów.

  1. Dodaj kontrolkę Etykieta o nazwie ShowText i ustaw dla jej właściwości Text następującą formułę:
    Now()

    Jeśli na komputerze wybrano ustawienia regionalne „en-us”, bieżąca data i godzina zostaną wyświetlone w następującym formacie:
    mm/dd/yyyy hh:mm AM/PM

    Jeśli na komputerze wybrano ustawienia regionalne „fr-fr”, bieżąca data i godzina zostaną wyświetlone w następującym formacie:
    dd/mm/yyyy hh:mm AM/PM

  2. Ustaw właściwość Text kontrolki ShowText na następującą formułę:
    DateDiff(Today(), DateValue("01/01/2020"))

    Kontrolka pokazuje liczbę dni od dnia dzisiejszego do 1 stycznia 2020 roku, korzystając z następujących funkcji:

    • DateDiff — oblicza liczbę dni, kwartałów lub lat między dwiema datami.
    • Today — oblicza dzień bieżący jako wartość.
    • DateValue — konwertuje ciąg literału (jak pokazano w podwójnym cudzysłowie) na wartość, która posłuży do przeprowadzenia obliczeń.
  3. Dodaj kontrolkę Wprowadzanie tekstu o nazwie BirthDate i przenieś ją pod kontrolkę ShowText.

  4. W kontrolce BirthDate wpisz miesiąc i dzień swoich urodzin (np. 05/18).

  5. Ustaw właściwość Text kontrolki ShowText na następującą formułę:
    DateDiff(Today(), DateValue(BirthDate.Text))

    Kontrolka ShowText pokazuje liczbę dni od dnia dzisiejszego do daty wpisanej w kontrolce BirthDate. Jeśli urodziny już minęły w tym roku, kontrolka ShowText wyświetla wartość ujemną.

Formatowanie dat i godzin za pomocą funkcji DateTimeValue

Daty i godziny można konwertować z ciągów tekstowych na wartości. Wartości te można formatować na różne sposoby i można ich używać w obliczeniach. Określ format za pomocą opcji wbudowanych i opcji niestandardowych.

Uwaga

Funkcje DateTimeValue i DateValue umożliwiają konwertowanie na wartości dat w następujących formatach:

  • MM/DD/RRRR
  • DD/MM/RRRR
  • DD Mies. RRRR
  • Mies. DD, RRRR
  1. Dodaj kontrolkę Wprowadzanie tekstu o nazwie ArrivalDateTime, a następnie wpisz datę i godzinę w następującym formacie:
    5/10/85 6:15 AM

  2. Dodaj kontrolkę Etykieta o nazwie ShowDate i ustaw dla jej właściwości Text następującą formułę:
    DateTimeValue(ArrivalDateTime.Text)

    Kontrolka ShowDate zawiera te same informacje, które zostały wpisane, ale po skonwertowaniu tekstu na wartość i sformatowaniu. Na przykład rok jest wyświetlany w postaci czterech cyfr, a nie tylko dwóch.

  3. Zmień właściwość Text kontrolki ShowDate, ustawiając dla niej następującą formułę:
    DateTimeValue(ArrivalDateTime.Text, "fr")

    Kontrolka ShowDate przedstawia dzień przed miesiącem, co jest zgodne z oczekiwaniami użytkownika posługującego się językiem francuskim.

    Porada

    Aby wyświetlić listę innych ustawień regionalnych przy użyciu technologii Intellisense, usuń cudzysłów zamykający i ciąg fr z formuły, ale pozostaw cudzysłów otwierający:

  4. Aby użyć jednego z kilku wbudowanych formatów, zmień właściwość Text kontrolki ShowDate, ustawiając dla niej następującą formułę:
    Text(DateTimeValue(ArrivalDateTime.Text), DateTimeFormat.LongDateTime)

    Kontrolka ShowDate pokazuje dzień tygodnia, datę i godzinę.

    Porada

    Parametr DateTimeFormat obsługuje kilka innych wbudowanych formatów. Aby wyświetlić tę listę, usuń z formuły element LongDateTime.

  5. Aby użyć formatu niestandardowego, zmień właściwość Text kontrolki ShowDate, ustawiając dla niej następującą formułę:
    Text(DateTimeValue(ArrivalDateTime.Text), "mm/dd/yyyy hh:mm:ss.fff AM/PM")

    Kontrolka ShowDate pokazuje wartość daty/godziny w określonym formacie z uwzględnieniem milisekund.

    Porada

    Aby zaokrąglić godzinę do najbliższej dziesiętnej lub setnej części sekundy, określ w formule ustawienie hh:mm:ss.f lub hh:mm:ss.ff.

Formatowanie daty przy użyciu funkcji DateValue

  1. Dodaj kontrolkę Wprowadzanie tekstu o nazwie ArrivalDate, a następnie wpisz w niej datę i godzinę (np. 5/10/85).

  2. Dodaj kontrolkę Etykieta o nazwie FormatDate i ustaw dla jej właściwości Text następującą formułę:
    DateValue(ArrivalDate.Text)

    Kontrolka FormatDate przedstawia wpisaną datę, ale rok jest wyświetlany w postaci czterech cyfr.

  3. Ustaw właściwość Text kontrolki FormatDate na następującą formułę:
    DateValue(ArrivalDate.Text, "fr")

    Kontrolka FormatDate przedstawia dzień przed miesiącem, co jest zgodne z oczekiwaniami użytkownika posługującego się językiem francuskim.

  4. Aby użyć jednego z kilku wbudowanych formatów, ustaw właściwość Text kontrolki FormatDate na następującą formułę:
    Text(DateValue(ArrivalDate.Text), DateTimeFormat.LongDate)

    Kontrolka FormatDate pokazuje dzień tygodnia, miesiąc, dzień i rok.

  5. Aby użyć formatu niestandardowego, ustaw właściwość Text kontrolki FormatDate na następującą formułę:
    Text(DateValue(ArrivalDate.Text), "yy/mm/dd")

    Kontrolka FormatDate pokazuje datę w określonym formacie.

Formatowanie godziny za pomocą funkcji DateTimeValue

  1. Dodaj kontrolkę Wprowadzanie tekstu o nazwie ArrivalTime, a następnie wpisz w niej ciąg 6:15 AM.

  2. Dodaj kontrolkę Etykieta o nazwie ShowTime.

  3. Aby użyć jednego z kilku wbudowanych formatów, ustaw właściwość Text kontrolki ShowTime na następującą formułę:
    Text(DateTimeValue(ArrivalTime.Text), DateTimeFormat.LongTime)

    Kontrolka ShowTime pokazuje określoną godzinę z uwzględnieniem sekund.

  4. Aby użyć formatu niestandardowego, ustaw właściwość Text kontrolki ShowTime na następującą formułę:
    Text(DateTimeValue(ArrivalTime.Text), "hh:mm:ss.fff AM/PM")

    Kontrolka ShowTime pokazuje określoną godzinę z uwzględnieniem sekund i milisekund.

    Porada

    Aby zaokrąglić godzinę do najbliższej dziesiętnej lub setnej części sekundy, określ w formule ustawienie hh:mm:ss.f lub hh:mm:ss.ff.

Pokazywanie czasu między datami

  1. Dodaj dwie kontrolki Wprowadzanie tekstu o nazwach Start i End.

  2. Wpisz ciąg 4/1/2015 w kontrolce Start i ciąg 1/1/2016 w kontrolce End.

  3. Dodaj kontrolkę Etykieta o nazwie DateDiff i ustaw dla jej właściwości Text następującą formułę:
    DateDiff(DateValue(Start.Text), DateValue(End.Text))

    Kontrolka DateDiff pokazuje wartość 275, czyli liczbę dni dzielących 1 kwietnia 2015 roku i 1 stycznia 2016 roku.

  4. Ustaw właściwość Text kontrolki DateDiff na następującą formułę:
    DateDiff(DateValue(Start.Text), DateValue(End.Text), Months)

    Kontrolka DateDiff pokazuje wartość 9, czyli liczbę miesięcy dzielących 1 kwietnia 2015 roku i 1 stycznia 2016 roku. Zastąp element Months elementem Quarters lub Years, aby wyświetlić czas w odpowiedniej jednostce.

Określanie daty przed inną datę lub po innej dacie

  1. Dodaj kontrolkę Wprowadzanie tekstu o nazwie Start i wpisz w niej ciąg 5/10/1985.

  2. Dodaj kontrolkę Etykieta o nazwie DateAdd i ustaw dla jej właściwości Text następującą formułę:
    DateAdd(DateValue(Start.Text), 3)

    Kontrolka DateAdd pokazuje datę 5/13/1985, czyli trzy dni po dacie z kontrolki Start.

  3. Ustaw właściwość Text kontrolki DateAdd na następującą formułę:
    DateAdd(DateValue(Start.Text), -3)

    Kontrolka DateAdd pokazuje datę 5/7/1985, czyli trzy dni przed datą z kontrolki Start.

  4. Zmień właściwość Text kontrolki DateAdd, ustawiając dla niej następującą formułę:
    DateAdd(DateValue(Start.Text), 3, Months)

    Etykieta pokazuje datę 8/10/1985, czyli trzy miesiące po dacie z kontrolki Start. Wystarczy zastąpić element Months ciągiem Quarters lub Years, aby zidentyfikować datę występującą określoną liczbę kwartałów lub lat po dacie z kontrolki Start.

Obliczanie dat na podstawie lat, miesięcy i dni

  1. Dodaj trzy kontrolki Lista rozwijana o nazwach Year, Month i Day.

  2. Dla właściwości Items kontrolki Year ustaw następującą formułę:
    Table({Year:"2014"}, {Year:"2015"}, {Year:"2016"})

  3. Dla właściwości Items kontrolki Month ustaw następującą formułę:
    Table({Month:"1"}, {Month:"2"}, {Month:"3"}, {Month:"4"}, {Month:"5"}, {Month:"6"}, {Month:"7"}, {Month:"8"}, {Month:"9"}, {Month:"10"}, {Month:"11"}, {Month:"12"})

  4. Dla właściwości Items kontrolki Day ustaw następującą formułę:
    Table({Day:"1"}, {Day:"2"}, {Day:"3"}, {Day:"4"}, {Day:"5"}, {Day:"6"}, {Day:"7"}, {Day:"8"}, {Day:"9"}, {Day:"10"}, {Day:"11"}, {Day:"12"}, {Day:"13"}, {Day:"14"}, {Day:"15"}, {Day:"16"}, {Day:"17"}, {Day:"18"}, {Day:"19"}, {Day:"20"}, {Day:"21"}, {Day:"22"}, {Day:"23"}, {Day:"24"}, {Day:"25"}, {Day:"26"}, {Day:"27"}, {Day:"28"}, {Day:"29"}, {Day:"30"}, {Day:"31"})

  5. Dodaj kontrolkę Etykieta i ustaw jej właściwość Text na następującą formułę:
    Text(Date(Value(Year.SelectedText.Value), Value(Month.SelectedText.Value), Value(Day.SelectedText.Value)), DateTimeFormat.LongDate)

    Domyślnie jest wyświetlona wartość Wednesday, January 1, 2014. Wybierz różne wartości kontrolek Lista rozwijana, aby zmienić datę pokazywaną przez kontrolkę Etykieta.

Może zaistnieć konieczność skonwertowania nieoczekiwanych danych. Jeśli dodasz kontrolki Wprowadzanie tekstu zamiast kontrolek Lista rozwijana, użytkownik może wprowadzić nieprawidłową datę, np. 45 maja. Funkcja Date obsługuje nietypowe dane w następujące sposoby:

  • Jeśli wartość roku jest z zakresu od 0 do 1899 (włącznie), funkcja dodaje tę wartość do wartości 1900 w celu obliczenia roku.
  • Jeśli wartość roku jest z zakresu od 1900 do 9999 (włącznie), funkcja używa tej wartości jako roku.
  • Jeśli wartość roku jest mniejsza niż 0 lub wynosi co najmniej 10 000, funkcja zwraca wartość oznaczającą błąd.
  • Jeśli wartość miesiąca jest większa niż 12, funkcja dodaje tę liczbę miesięcy do pierwszego miesiąca określonego roku.
  • Jeśli wartość miesiąca jest mniejsza niż 1, funkcja odejmuje tę liczbę miesięcy powiększoną o 1 od pierwszego miesiąca określonego roku.
  • Jeśli wartość dnia jest większa niż liczba dni w danym miesiącu, funkcja dodaje tę liczbę dni do pierwszego dnia miesiąca i zwraca odpowiednią datę z kolejnego miesiąca.
  • Jeśli wartość dnia jest mniejsza niż 1, funkcja odejmuje tę liczbę dni powiększoną o 1 od pierwszego dnia określonego miesiąca.

Obliczanie godziny na podstawie godzin, minut i sekund

  1. Dodaj dwa elementy Lista rozwijana o nazwach Hour i Minute.

  2. Dla właściwości Items listy Hour ustaw następującą formułę:
    Table({Hour:"9"}, {Hour:"10"}, {Hour:"11"}, {Hour:"12"}, {Hour:"13"}, {Hour:"14"}, {Hour:"15"}, {Hour:"16"}, {Hour:"17"})

  3. Dla właściwości Items listy Minute ustaw następującą formułę:
    Table({Minute:"0"}, {Minute:"15"}, {Minute:"30"}, {Minute:"45"})

  4. Dodaj kontrolkę Etykieta i ustaw jej właściwość Text na następującą formułę:

    Text(Time(Value(Hour.SelectedText.Value), Value(Minute.SelectedText.Value),0), DateTimeFormat.ShortTime)

  5. Wybierz wartość 15 na liście Hour i wartość 45 na liście Minute.

    Na kontrolce Etykieta zostanie wyświetlona wartość 3:45 PM.

    Do kontrolek Hour i Minute można dodać pozycje umożliwiające użytkownikom wybór spośród szerszego zakresu godzin i bardziej precyzyjne określanie minut. Można także dodać trzecią kontrolkę Lista rozwijana umożliwiającą użytkownikom określanie sekund. Jeśli dodasz trzecią listę, ustaw właściwość Text kontrolki Etykieta, używając następującego wyrażenia:
    Text(Time(Value(Hour.Selected.Value), Value(Minute.Selected.Value), Value(Second.Selected.Value)), DateTimeFormat.LongTime)

Zobacz też

Przykłady kontrolki Selektor daty

Uwaga

Czy możesz poinformować nas o preferencjach dotyczących języka dokumentacji? Wypełnij krótką ankietę. (zauważ, że ta ankieta jest po angielsku)

Ankieta zajmie około siedmiu minut. Nie są zbierane żadne dane osobowe (oświadczenie o ochronie prywatności).