Поділитися через


Відображення тексту, дат і часу в компонованих програмах

У Power Apps додавайте дату й час до програми з полотна, а також форматуйте їх, щоб показати потрібний рівень деталізації або відобразити регіональні параметри. Обчислюйте проміжок часу між двома датами або дату за певний період до чи після вказаної дати. Перетворюйте дати з (або на) окремих значень для днів, місяців і років, а також перетворюйте час з (або на) окремих значень для годин, хвилин і секунд.

Наприклад, можна додати дані від користувачів про біржові торги або зустрічі клієнтів, дані з зовнішнього джерела або дані з іншої програми, створеної в Power Apps. Якщо ці дані включають час до мілісекунд, для простоти їх слід округлити до найближчої хвилини. Підрахуйте, скільки днів залишилось до важливої події. Якщо потрібно запланувати зустрічі з клієнтами кожні п'ять днів, обчислюйте ці дати автоматично. Якщо дата "10 травня 1985" зберігається в окремих полях для дня, місяця та року, об'єднайте її в одне значення. І навпаки, розділіть кожну дату на окремі значення, якщо програма працює з ними окремо.

Вимоги

Відображення тексту в елементі керування "Підпис"

Відображайте текст в елементі керування Підпис, указавши значення для властивості Текст. Встановіть цю властивість, ввівши значення безпосередньо в елемент керування або ввівши вираз на панелі формул.

  • Якщо вводити значення безпосередньо в елементі керування, відображатиметься саме те, що введено.
  • Якщо ввести вираз на панелі формул, у елементі керування відображається результат виразу.

Ось кілька прикладів:

  1. Додайте елемент керування Підпис з назвою ShowText і вкажіть для його властивості Текст таку формулу:
    Now()

    Якщо комп'ютер використовує регіональний параметр "en-us", то поточну дату та час буде відображено в такому форматі:
    mm/dd/yyyy hh:mm AM/PM

    Якщо комп'ютер використовує регіональний параметр "fr-fr", то поточну дату та час буде відображено в такому форматі:
    dd/mm/yyyy hh:mm AM/PM

  2. Укажіть для властивості Текст із назвою ShowText таку формулу:
    DateDiff(Today(), DateValue("01/01/2020"))

    В елементі керування відображаються кількість днів між сьогоднішнім днем і 1 січня 2020 за допомогою таких функцій:

    • DateDiff, що обчислює кількість днів, кварталів або років між двома датами.
    • Today, що обчислює поточний день як значення.
    • DateValue, що перетворює рядок дати, який показано між подвійними лапками, на значення, з якого можна виконати обчислення.
  3. Додайте елемент керування Ввід тексту з назвою BirthDate і перемістіть його під ShowText.

  4. У полі BirthDate введіть місяць і день вашого народження (наприклад, 05/18).

  5. Укажіть для властивості Текст із назвою ShowText таку формулу:
    DateDiff(Today(), DateValue(BirthDate.Text))

    ShowText показує кількість днів між сьогоднішньою датою і будь-якою датою, яку введено в BirthDate. Якщо день народження вже минув, то у ShowText відображається від'ємне значення.

Форматування дати та часу за допомогою параметра DateTimeValue

Перетворюйте дати і час із рядків тексту на значення, які можна форматувати різними способами та використовувати в обчисленнях. Указуйте формат за допомогою вбудованих і настроюваних параметрів.

Примітка

Функції DateTimeValue і DateValue можуть перетворити дати із будь-яких форматів, вказаних нижче, на значення.

  • MM/DD/YYYY
  • DD/MM/YYYY
  • DD Mon YYYY
  • Month DD, YYYY
  1. Додайте елемент керування Ввід тексту з назвою ArrivalDateTime і введіть дату та час у такому форматі:
    5/10/85 6:15 AM

  2. Додайте елемент керування Підпис з назвою ShowDate і вкажіть для його властивості Текст таку формулу:
    DateTimeValue(ArrivalDateTime.Text)

    У ShowDate відображено ті ж відомості, які було введено, але їх було перетворено з тексту на значення та по-іншому форматовано. Наприклад, рік виглядає як чотири цифри, а не лише дві.

  3. Змініть значення властивості Текст елемента ShowText на таку формулу:
    DateTimeValue(ArrivalDateTime.Text, "fr")

    ShowDate відображає день перед місяцем, чого й очікує французький користувач.

    Порада

    Щоб відобразити список інших регіональних параметрів у Intellisense, видаліть закривні лапки і fr з формули, але залиште відкривні лапки.

  4. Щоб скористатися одним із кількох вбудованих форматів, змініть властивість Текст елемента ShowDate на цю формулу:
    Text(DateTimeValue(ArrivalDateTime.Text), DateTimeFormat.LongDateTime)

    У ShowDate відображено день тижня, дату та час.

    Порада

    Параметр DateTimeFormat підтримує кілька інших вбудованих форматів. Щоб відобразити цей список, видаліть LongDateTime із формули.

  5. Щоб скористатися настроюваним форматом, змініть властивість Текст елемента ShowDate на цю формулу:
    Text(DateTimeValue(ArrivalDateTime.Text), "mm/dd/yyyy hh:mm:ss.fff AM/PM")

    У ShowDate відображено значення дати й часу у вказаному форматі, включно з мілісекундами.

    Порада

    Щоб заокруглити час до найближчої десятої або сотої секунди, укажіть hh:mm:ss.f або hh:mm:ss.ff у формулі.

Форматування дати за допомогою функції DateValue

  1. Додайте елемент керування Ввід тексту з іменем ArrivalDate, а потім введіть у ньому дату (наприклад, 5/10/85).

  2. Додайте елемент керування Підпис з назвою FormatDate і вкажіть для його властивості Текст таку формулу:
    DateValue(ArrivalDate.Text)

    У FormatDate відображено введену дату, але рік показано у форматі чотирьох цифр.

  3. Укажіть для властивості Текст елемента FormatDate таку формулу:
    DateValue(ArrivalDate.Text, "fr")

    У FormatDate день відображено перед місяцем, чого й очікує французький користувач.

  4. Щоб скористатися одним із кількох вбудованих форматів, укажіть для властивості Текст елемента ShowDate таку формулу:
    Text(DateValue(ArrivalDate.Text), DateTimeFormat.LongDate)

    У FormatDate відображено день тижня, місяць, день і рік.

  5. Щоб скористатися настроюваним форматом, укажіть для властивості Текст елемента FormatDate таку формулу:
    Text(DateValue(ArrivalDate.Text), "yy/mm/dd")

    У FormatDate відображено дату у вказаному форматі.

Форматування часу за допомогою DateTimeValue

  1. Додайте елемент керування Ввід тексту з іменем ArrivalTime, а потім введіть у ньому 6:15 AM.

  2. Додайте елемент керування Підпис з назвою ShowTime.

  3. Щоб скористатися одним із кількох вбудованих форматів, укажіть для властивості Текст елемента ShowTime таку формулу:
    Text(DateTimeValue(ArrivalTime.Text), DateTimeFormat.LongTime)

    У ShowTime відображено вказаний час, включно з секундами.

  4. Щоб скористатися настроюваним форматом, укажіть для властивості Текст елемента ShowTime таку формулу:
    Text(DateTimeValue(ArrivalTime.Text), "hh:mm:ss.fff AM/PM")

    У ShowTime відображено вказаний час, включно з секундами та мілісекундами.

    Порада

    Щоб заокруглити час до найближчої десятої або сотої секунди, введіть у формулі hh:mm:ss.f або hh:mm:ss.ff.

Відображення часу між датами

  1. Додайте два елементи керування Ввід тексту з іменами Start і End.

  2. Введіть 4/1/2015 в елементі Start і введіть 1/1/2016 в елементі End.

  3. Додайте елемент керування Підпис з назвою DateDiff і вкажіть для його властивості Текст таку формулу:
    DateDiff(DateValue(Start.Text), DateValue(End.Text))

    DateDiff показує 275, тобто кількість днів від 1 квітня 2015 до 1 січня 2016.

  4. Укажіть для властивості Текст елемента DateDiff таку формулу:
    DateDiff(DateValue(Start.Text), DateValue(End.Text), Months)

    DateDiff показує 9, тобто кількість місяців від 1 квітня 2015 до 1 січня 2016. Замініть Months (місяці) на Quarters (квартали) або Years (роки), щоб показати час у цих одиницях.

Визначення дати до або після іншої дати

  1. Додайте елемент керування Ввід тексту з іменем Start, а потім введіть у ньому 5/10/1985.

  2. Додайте елемент керування Підпис з назвою DateAdd і вкажіть для його властивості Текст таку формулу:
    DateAdd(DateValue(Start.Text), 3)

    DateAdd показує 5/13/1985, що на три дні пізніше дати, вказаної в Start.

  3. Укажіть для властивості Текст елемента DateAdd таку формулу:
    DateAdd(DateValue(Start.Text), -3)

    DateAdd показує 5/7/1985, що на три дні раніше дати, вказаної в Start.

  4. Змініть значення властивості Текст елемента DateAdd на таку формулу:
    DateAdd(DateValue(Start.Text), 3, Months)

    Підпис показує 8/10/1985, що на три місяці пізніше дати, вказаної в Start. Замініть Months на Quarters або Years, щоб визначити дату, яка відбудеться через відповідну кількість чвертей або років до або після дати, вказаної в Start.

Обчислення дат на основі років, місяців і днів

  1. Додайте три елементи керування Розкривний список з назвами Year, Month і Day.

  2. Укажіть для властивості Елементи елемента Year таку формулу:
    Table({Year:"2014"}, {Year:"2015"}, {Year:"2016"})

  3. Укажіть для властивості Елементи елемента Month таку формулу:
    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. Укажіть для властивості Елементи елемента Day таку формулу:
    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. Додайте елемент керування Підпис і для його властивості Текст укажіть цю формулу:
    Text(Date(Value(Year.SelectedText.Value), Value(Month.SelectedText.Value), Value(Day.SelectedText.Value)), DateTimeFormat.LongDate)

    Wednesday, January 1, 2014 вказано за замовчуванням. Виберіть різні значення в елементі керування Розкривний список, щоб змінити дату в елементі керування Підпис.

Можливо, доведеться перетворювати неочікувані дані. Якщо додати елемент керування Ввід тексту замість елемента керування Розкривний список, користувач може ввести неправильну дату, наприклад, 45 травня. Функція Date обробляє нетипові дані таким чином:

  • Якщо значення року становить від 0 до 1899 (включно), то функція додає це значення до 1900, щоб обчислити рік.
  • Якщо значення року становить від 1900 до 9999 (включно), то функція використовує це значення як рік.
  • Якщо значення року менше 0 або дорівнює 10000 чи більше, то функція повертає значення помилки.
  • Якщо значення місяця більше 12, ця функція додає цю кількість місяців до першого місяця вказаного року.
  • Якщо значення місяця менше 1, ця функція віднімає таку кількість місяців (плюс 1) від першого місяця вказаного року.
  • Якщо значення дня більше за кількість днів у вказаному місяці, то функція додає таку кількість днів до першого дня місяця і повертає відповідну дату з наступного місяця.
  • Якщо значення дня менше 1, ця функція віднімає таку кількість днів (плюс 1) від першого дня вказаного місяця.

Обчислення часу на основі годин, хвилин і секунд

  1. Додайте два Розкривних списки з назвами Hour і Minute.

  2. Укажіть для властивості Елементи списку Hour таку формулу:
    Table({Hour:"9"}, {Hour:"10"}, {Hour:"11"}, {Hour:"12"}, {Hour:"13"}, {Hour:"14"}, {Hour:"15"}, {Hour:"16"}, {Hour:"17"})

  3. Укажіть для властивості Елементи списку Minute таку формулу:
    Table({Minute:"0"}, {Minute:"15"}, {Minute:"30"}, {Minute:"45"})

  4. Додайте елемент керування Підпис і для його властивості Текст укажіть цю формулу:

    Text(Time(Значення(Година.ВибранийТекст.Значення), Value(Хвилина.Вибраний текст.Значення),0), DateTimeFormat.ShortTime)

  5. Виберіть 15 зі списку Hour і 45 зі списку Minute.

    В елементі керування Підпис відображено 3:45 PM.

    Можна додавати записи до Hour та Minute, щоб користувачі могли вибирати з більшого діапазону годин і точнішої кількості хвилин. Крім того, можна додати третій елемент керування Розкривний список, щоб користувачі могли вказати секунди. Якщо додати третій список, укажіть для властивості Текст елемента керування Підпис такий вираз:
    Text(Time(Value(Hour.Selected.Value), Value(Minute.Selected.Value), Value(Second.Selected.Value)), DateTimeFormat.LongTime)

Див. також

Приклади для елементу керування «Вибір дати»

Примітка

Розкажіть нам про свої уподобання щодо мови документації? Візьміть участь в короткому опитуванні. (зверніть увагу, що це опитування англійською мовою)

Проходження опитування займе близько семи хвилин. Персональні дані не збиратимуться (декларація про конфіденційність).