Zobrazení textu, kalendářních dat a časů v aplikacích plátna

V Power Apps můžete přidat data a časy do aplikace plátna a naformátovat je, aby ukazovaly správnou úroveň podrobností nebo aby odrážely národní prostředí. Můžete vypočítat množství času mezi dvěma kalendářními daty nebo vypočítat datum, které je určité časové období před nebo po zadaném datu. Můžete převést data na samostatné hodnoty nebo ze samostatných hodnot pro dny, měsíce a roky a převést časy na samostatné hodnoty nebo ze samostatných hodnot pro hodiny, minuty a sekundy.

Například přidáte data od uživatelů o burzovních obchodech nebo schůzkách s klienty, data z externího zdroje nebo data z jiné aplikace vytvořené v Power Apps. Pokud tato data obsahují časy až na milisekundy, zaokrouhlete je kvůli zjednodušení na nejbližší minutu. Můžete vypočítat, kolik dní zbývá před významným mezníkem. Pokud chcete naplánovat schůzku s klientem každých pět dní, můžete tato kalendářní data vypočítat automaticky. Pokud je datum 10. května 1985 uložené v samostatných polích pro den, měsíc a rok, můžete je sloučit do jedné hodnoty. A naopak můžete každé datum rozdělit na samostatné hodnoty, pokud je vaše aplikace spravuje samostatně.

Požadavky

  • Přihlaste se k Power Apps, a potom se přihlaste se stejnými přihlašovacími údaji, jaké jste použili při registraci.
  • Vytvořte aplikaci nebo otevřete stávající aplikaci v Power Apps.
  • Tady si můžete přečíst, jak se konfiguruje ovládací prvek v Power Apps.

Zobrazení textu v ovládacím prvku Popisek

Text v ovládacím prvku Popisek zobrazíte nastavením hodnoty jeho vlastnosti Text. Nastavte tuto vlastnost zadáním přímo do ovládacího prvku nebo zadáním výrazu v řádku vzorců.

  • Pokud budete psát přímo do ovládacího prvku, zobrazuje přesně to, co zadáte.
  • Pokud zadáte výraz do řádku vzorců, zobrazuje prvek výsledek výrazu.

Zde je uvedeno několik příkladů.

  1. Přidejte ovládací prvek Popisek s názvem ShowText a pro jeho vlastnost Text nastavte tento vzorec:
    Now()

    Pokud je váš počítač nastavený na národní prostředí en-us, zobrazí se aktuální datum a čas v tomto formátu:
    mm/dd/yyyy hh:mm AM/PM

    Pokud je váš počítač nastavený na národní prostředí jako třeba fr-fr, zobrazí se aktuální datum a čas v tomto formátu:
    dd/mm/yyyy hh:mm AM/PM

  2. Nastavte vlastnost Text prvku ShowText na tento vzorec:
    DateDiff(Today(); DateValue("01/01/2020"))

    Ovládací prvek zobrazuje počet dní od dnešního dne do 1. ledna 2020 pomocí těchto funkcí:

    • DateDiff, která vypočítá počet dnů, čtvrtletí nebo let mezi dvěma kalendářními daty.
    • Today, která vypočítá aktuální den jako hodnotu.
    • DateValue, která převede řetězec literálu, jak je znázorněno mezi dvojitými uvozovkami, na hodnotu, se kterou se dají provádět výpočty.
  3. Přidejte ovládací prvek Textové zadání s názvem BirthDate a přesuňte ho pod ShowText.

  4. Do BirthDate zadejte měsíc a den svého narození (například 05/18).

  5. Nastavte vlastnost Text prvku ShowText na tento vzorec:
    DateDiff(Today(); DateValue(BirthDate.Text))

    ShowText zobrazuje počet dní mezi dneškem a libovolným datem zadaným do BirthDate. Pokud jste už tento rok měli narozeniny, ShowText zobrazí zápornou hodnotu.

Formátování kalendářních dat a časů pomocí DateTimeValue

Můžete převést kalendářní data a časy z řetězců textu na hodnoty, které můžete naformátovat mnoha různými způsoby a používat ve výpočtech. Zadejte formát pomocí předdefinovaných a vlastních možností.

Poznámka

Funkce DateTimeValue a DateValue umí převést kalendářní data v některém z těchto formátů na hodnoty:

  • MM/DD/RRRR
  • DD/MM/RRRR
  • DD Měs RRRR
  • Měsíc DD, RRRR
  1. Přidejte ovládací prvek Textové zadání s názvem ArrivalDateTime a zadejte datum a čas v tomto formátu:
    5/10/85 6:15 AM

  2. Přidejte ovládací prvek Popisek s názvem ShowDate a pro jeho vlastnost Text nastavte tento vzorec:
    DateTimeValue(ArrivalDateTime.Text)

    ShowDate zobrazuje stejné informace, které jste zadali, ale jsou převedené z textu na hodnotu a s jiným formátováním. Například rok je zobrazený jako čtyři číslice místo jen dvou.

  3. Změňte vlastnost Text prvku ShowDate na tento vzorec:
    DateTimeValue(ArrivalDateTime.Text; "fr")

    ShowDate zobrazuje den před měsícem, tak jak to francouzský uživatel očekává.

    Tip

    Pokud chcete zobrazit seznam jiných národních prostředí v technologii Intellisense, odeberte uzavírací uvozovky a fr ze vzorce, ale nechejte úvodní uvozovky:

  4. Pokud chcete použít jeden z několika předdefinovaných formátů, změňte vlastnost Text prvku ShowDate na tento vzorec:
    Text(DateTimeValue(ArrivalDateTime.Text); DateTimeFormat.LongDateTime)

    ShowDate zobrazuje den v týdnu, datum a čas.

    Tip

    Parametr DateTimeFormat podporuje několik dalších předdefinovaných formátů. Pokud chcete zobrazit tento seznam, odeberte ze vzorce LongDateTime.

  5. Jestliže chcete použít vlastní formát, změňte vlastnost Text prvku ShowDate na tento vzorec:
    Text(DateTimeValue(ArrivalDateTime.Text), "mm/dd/yyyy hh:mm:ss.fff AM/PM")

    ShowDate zobrazuje hodnotu data a času ve formátu, který jste zadali, včetně milisekund.

    Tip

    Pokud chcete čas zaokrouhlit na nejbližší desetinu nebo setinu sekundy, zadejte do vzorce hh:mm:ss.f nebo hh:mm:ss.ff.

Formátování data pomocí DateValue

  1. Přidejte ovládací prvek Textové zadání s názvem ArrivalDate a pak do něj zadejte datum (například 5/10/85).

  2. Přidejte ovládací prvek Popisek s názvem FormatDate a pro jeho vlastnost Text nastavte tento vzorec:
    DateValue(ArrivalDate.Text)

    FormatDate zobrazuje datum, které jste zadali, s výjimkou roku, který se zobrazí jako čtyři číslice.

  3. Nastavte vlastnost Text prvku FormatDate na tento vzorec:
    DateValue(ArrivalDate.Text; "fr")

    FormatDate zobrazuje den před měsícem, tak jak to francouzský uživatel očekává.

  4. Pokud chcete použít jeden z několika předdefinovaných formátů, nastavte vlastnost Text prvku FormatDate na tento vzorec:
    Text(DateValue(ArrivalDate.Text); DateTimeFormat.LongDate)

    FormatDate zobrazuje den týdne, měsíc, den a rok.

  5. Jestliže chcete použít vlastní formát, nastavte vlastnost Text prvku FormatDate na tento vzorec:
    Text(DateValue(ArrivalDate.Text), "yy/mm/dd")

    FormatDate zobrazuje datum ve formátu, který jste zadali.

Formátování času pomocí DateTimeValue

  1. Přidejte ovládací prvek Textové zadání s názvem ArrivalTime a pak do něj zadejte 6:15 AM.

  2. Přidejte ovládací prvek Popisek s názvem ShowTime.

  3. Pokud chcete použít jeden z několika předdefinovaných formátů, nastavte vlastnost Text prvku ShowTime na tento vzorec:
    Text(DateTimeValue(ArrivalTime.Text); DateTimeFormat.LongTime)

    ShowTime zobrazuje čas, který jste zadali, včetně sekund.

  4. Jestliže chcete použít vlastní formát, nastavte vlastnost Text prvku ShowTime na tento vzorec:
    Text(DateTimeValue(ArrivalTime.Text), "hh:mm:ss.fff AM/PM")

    ShowTime zobrazuje čas, který jste zadali, včetně sekund a milisekund.

    Tip

    Pokud chcete čas zaokrouhlit na nejbližší desetinu nebo setinu sekundy, zadejte do vzorce hh:mm:ss.f nebo hh:mm:ss.ff.

Zobrazení času mezi kalendářními daty

  1. Přidejte dva ovládací prvky Textové zadání s názvem Start a End.

  2. Zadejte 4/1/2015 do prvku Start a 1/1/2016 do prvku End.

  3. Přidejte ovládací prvek Popisek s názvem DateDiff a pro jeho vlastnost Text nastavte tento vzorec:
    DateDiff(DateValue(Start.Text); DateValue(End.Text))

    DateDiff zobrazuje 275, což je počet dnů mezi 1. dubnem 2015 a 1. lednem 2016.

  4. Nastavte vlastnost Text prvku DateDiff na tento vzorec:
    DateDiff(DateValue(Start.Text); DateValue(End.Text); Months)

    DateDiff zobrazuje 9, což je počet měsíců mezi 1. dubnem 2015 a 1. lednem 2016. Nahraďte Months parametrem Quarters nebo Years a zobrazí se čas v jednotkách čtvrtletí a roků.

Určení data před nebo po jiném datu

  1. Přidejte ovládací prvek Textové zadání s názvem Start a zadejte do něj 5/10/1985.

  2. Přidejte ovládací prvek Popisek s názvem DateAdd a pro jeho vlastnost Text nastavte tento vzorec:
    DateAdd(DateValue(Start.Text); 3)

    DateAdd zobrazuje 5/13/1985, což je tři dny po datu v prvku Start.

  3. Nastavte vlastnost Text prvku DateAdd na tento vzorec:
    DateAdd(DateValue(Start.Text), -3)

    DateAdd zobrazuje 5/7/1985, což je tři dny před datem v prvku Start.

  4. Změňte vlastnost Text prvku DateAdd na tento vzorec:
    DateAdd(DateValue(Start.Text); 3; Months)

    Popisek zobrazuje 8/10/1985, což je tři měsíce po datu v prvku Start. Nahraďte Months parametrem Quarters nebo Years a můžete určit datum, které je zadaný počet čtvrtletí nebo let před datem nebo po datu v prvku Start.

Výpočet kalendářních dat na základě roků, měsíců a dnů

  1. Přidejte tři ovládací prvky Rozevírací nabídka s názvem Year, Month a Day.

  2. Nastavte vlastnost Items prvku Year na tento vzorec:
    Table({Year:"2014"}, {Year:"2015"}, {Year:"2016"})

  3. Nastavte vlastnost Items prvku Month na tento vzorec:
    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. Nastavte vlastnost Items prvku Day na tento vzorec:
    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. Přidejte ovládací prvek Popisek a jeho vlastnost Text nastavte na tento vzorec:
    Text(Date(Value(Year.SelectedText.Value), Value(Month.SelectedText.Value), Value(Day.SelectedText.Value)), DateTimeFormat.LongDate)

    Středa 1. ledna 2014 je uvedená ve výchozím nastavení. Vyberte jiné hodnoty v ovládacích prvcích Rozevírací nabídka a změňte datum v ovládacím prvku Popisek.

Možná bude nutné převést data, která jste neočekávali. Pokud přidáte ovládací prvky Textové zadání místo prvků Rozevírací nabídka, může uživatel zadat nesprávné datum, například 45. května. Date zpracovává atypická data následujícími způsoby:

  • Pokud je hodnota roku v rozmezí 0 až 1899 (včetně), funkce přidá tuto hodnotu k hodnotě 1900 a vypočítá rok.
  • Pokud je hodnota roku v rozmezí 1900 až 9999 (včetně), funkce použije tuto hodnotu jako rok.
  • Pokud je hodnota roku menší než 0 nebo je 10000 nebo vyšší, funkce vrátí chybovou hodnotu.
  • Pokud je hodnota měsíce větší než 12, funkce přidá tento počet měsíců k prvnímu měsíci zadaného roku.
  • Pokud je hodnota měsíce menší než 1, funkce odečte tento počet měsíců plus 1 od prvního měsíce zadaného roku.
  • Pokud je hodnota dne větší než počet dní v zadaném měsíci, funkce přidá tento počet dní k prvnímu dni měsíce a vrátí odpovídající datum z následujícího měsíce.
  • Pokud je hodnota dne menší než 1, funkce odečte daný počet dní plus 1 od prvního dne zadaného měsíce.

Výpočet časů na základě hodin, minut a sekund

  1. Přidejte dva Rozevírací seznamy s názvem Hour a Minute.

  2. Nastavte vlastnost Items prvku Hour na tento vzorec:
    Table({Hour:"9"}, {Hour:"10"}, {Hour:"11"}, {Hour:"12"}, {Hour:"13"}, {Hour:"14"}, {Hour:"15"}, {Hour:"16"}, {Hour:"17"})

  3. Nastavte vlastnost Items prvku Minute na tento vzorec:
    Table({Minute:"0"}, {Minute:"15"}, {Minute:"30"}, {Minute:"45"})

  4. Přidejte ovládací prvek Popisek a jeho vlastnost Text nastavte na tento vzorec:

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

  5. Vyberte 15 v seznamu Hour a 45 v seznamu Minute.

    Ovládací prvek Popisek zobrazuje 3:45 PM.

    Můžete přidat položky do seznamů Hour a Minute, aby uživatelé mohli vybírat z většího rozsahu hodin a přesnějšího počtu minut. Můžete také přidat třetí ovládací prvek Rozevírací nabídka, aby uživatelé mohli zadávat sekundy. Pokud přidáte třetí seznam, nastavte vlastnost Text ovládacího prvku Popisek na následující výraz:
    Text(Time(Value(Hour.Selected.Value); Value(Minute.Selected.Value); Value(Second.Selected.Value)); DateTimeFormat.LongTime)

Viz také

Příklady ovládacích prvků Volič data

Poznámka

Můžete nám sdělit, jaké máte jazykové preference pro dokumentaci? Zúčastněte se krátkého průzkumu. (upozorňujeme, že tento průzkum je v angličtině)

Průzkum bude trvat asi sedm minut. Nejsou shromažďovány žádné osobní údaje (prohlášení o zásadách ochrany osobních údajů).