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


Функции DateValue, TimeValue и DateTimeValue

Применимо к: Приложениям Canvas Потокам рабочего стола Приложениям на основе моделей Power Pages Power Platform CLI

Преобразует дату, время или оба этих параметра в строке в значение даты и времени.

Описание

  • Функция DateValue преобразует строку даты (например, «10/01/2014») в значение даты/времени .

  • Функция TimeValue преобразует строку времени (например, «12:15 PM») в значение даты/времени .

  • Функция DateTimeValue преобразует строку даты и времени (например, «10 января, 2013 12:13 AM») в значение даты/времени .

Функция DateValue игнорирует любую информацию о времени в строке даты, а функция TimeValue игнорирует любую информацию о дате в строке времени.

Заметка

Функции DateValue, TimeValue и DateTimeValue по умолчанию используют язык из настроек текущего пользователя. Вы можете переопределить его, чтобы обеспечить правильную интерпретацию строк. Например, строка "10/1/1920" интерпретируется как 1ое октября для "en", но как 10ое января "fr".

Даты должны быть указаны в одном из следующих форматов:

  • ММ/ДД/ГГГГ или ММ-ДД-ГГГГ
  • ДД/ММ/ГГГГ или ДД-ММ-ГГГГ
  • ГГГГ/ММ/ДД или ГГГГ-ММ-ДД
  • ММ/ДД/ГГ или ММ-ДД-ГГ
  • ДД/ММ/ГГ или ДД-ММ-ГГ
  • ДД Мес ГГГГ
  • Месяц ДД, ГГГГ

Чтобы преобразовать числовые компоненты даты, месяца и года, прочитайте Date.
Чтобы преобразовать из числовых компонентов часов, минут и секунд, прочитайте Time.

Дополнительные сведения см. в статье:

Синтаксис

DateValue( Строка [, Язык ])
DateTimeValue( Строка [, Язык ])
TimeValue( Строка [, Язык ])

  • Строка - Обязательно. Текстовая строка, которая содержит дату, время или комбинированное значение даты и времени.
  • Язык - Необязательно. Строка языка, такая как возвращается первыми двумя знаками из функции Language. Если этот аргумент не указан, то используется язык из параметров текущего пользователя.

DateValue( Нетипизировано )
DateTimeValue( Нетипизировано )
TimeValue( Нетипизировано )

  • Нетипизировано - Обязательно. нетипизированный объект , представляющий дату или время. Допустимые значения зависят от нетипизированного поставщика. Для JSON, предполагается, что нетипизированный объект будет строкой JSON, содержащей дату и время в формате ISO 8601. Даты или время в других форматах приведут к ошибке. Рассмотрите возможность преобразования таких значений в Текст сначала, а затем в дату или время. Имейте в виду, что часовые пояса и форматы, связанные с языковым стандартом, являются важными факторами при обмене данными с внешними системами.

Примеры

DateValue

Если вы ввели 10/11/2014 в элемент управления для ввода текста с именем Startdate, а затем задали свойству Text метки следующие формулы:

  • Преобразуйте дату из строки в языковой стандарт пользователя и покажите результат в виде длинной даты.

    Text( DateValue( Startdate.Text ), DateTimeFormat.LongDate )
    

    В устройстве, установленном на языковой стандарт en, метка показывается как Saturday, October 11, 2014 (Суббота, 11 октября 2014 г.).

    Заметка

    Вы можете использовать несколько вариантов с перечислением DateTimeFormat. Чтобы отобразить список параметров, введите параметр, затем точку (.) в строке формул или проверьте справочник по функции Text.

  • Преобразуйте дату из строки в языковой стандарт French (Французский) и покажите результат в виде длинной даты. В этом примере месяцы и день месяца интерпретируются иначе, чем в английском примере.

    Text( DateValue( Startdate.Text, "fr" ), DateTimeFormat.LongDate )
    

    В устройстве, установленном на языковой стандарт en, метка показывается как Monday, November 10, 2014 (Понедельник, 10 ноября 2014 г.).

Если вы набрали вместо этого October 20, 2014 (20 октября 2014 г.):

  • Преобразование даты из строки в языковой стандарт пользователя и вычисление разницы между двумя датами в днях

    DateDiff( DateValue( Startdate.Text ), Today() )
    

    Устройство, в котором установлен языковой стандарт en показывает метку как 9, что означает количество дней между 11 и 20 октября. Функция DateDiff также может показывать разницу в месяцах, кварталах или годах.

DateTimeValue

Если вы ввели 10/11/2014 1:50:24.765 PM в элемент управления для ввода текста с именем Start, а затем задали свойству Text метки следующую формулу:

  • Конвертируйте обе строки даты и времени в текущий языковой стандарт.

    Text( DateTimeValue( Start.Text ), DateTimeFormat.LongDateTime )
    

    В устройстве, установленном на языковой стандарт en, метка показывается как Saturday, October 11, 2014 1:50:24 PM (Суббота, 11 октября 2014 г., 13:50:24).

    Заметка

    Вы можете использовать несколько вариантов с перечислением DateTimeFormat. Чтобы отобразить список параметров, введите параметр, затем точку (.) в строке формул или проверьте справочник по функции Text.

  • Конвертируйте обе строки даты и времени в языковой стандарт "Французский". Месяц и день месяца интерпретируются по-разному.

    Text( DateTimeValue( Start.Text, "fr"), DateTimeFormat.LongDateTime )
    

    В устройстве, установленном на языковой стандарт en, метка показывается как Monday, November 10, 2014 1:50:24 PM (Понедельник, 10 ноября 2014 г., 13:50:24).

  • Конвертируйте обе строки даты и времени в языковой стандарт пользователя и показывает результат с долями секунд.

    Text( DateTimeValue( Start.Text ), "dddd, mmmm dd, yyyy hh:mm:ss.fff AM/PM" )
    

    В устройстве, установленном на языковой стандарт en, метка показывается как Saturday, October 11, 2014 01:50:24.765 PM (Суббота, 11 октября 2014 г., 13:50:24,765).

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

TimeValue

Назовите элемент управления для ввода текста FinishedAt и задайте свойству Text метки следующую формулу:

If( TimeValue( FinishedAt.Text ) < TimeValue( "5:00:00.000 PM" ),
    "You made it!",
    "Too late!"
)
  • Если ввести 4:59:59.999 PM в элемент управления FinishedAt, то метка отобразит "You made it!" (Вы успели!).
  • Если ввести 5:00:00.000 PM в элемент управления FinishedAt, то метка отобразит "Too late!" (Слишком поздно!).