Как настраивать/форматировать значения даты и времени в потоке

В этой статье описаны действия по настройке или форматированию значений даты и времени в потоке Power Automate.

При работе со значениями даты и времени в потоке Power Automate вы можете обнаружить, что формат даты и времени не соответствует вашим ожиданиям, или вам может потребоваться настроить формат выходных данных. Это можно сделать, передав строки формата в функцию formatDateTime.

Форматирование даты и времени

Функция formatDateTime() в Power Automate позволяет изменять значения даты и времени и форматировать их, используя различные отображаемые форматы. Она также предлагает простой способ обработки данных и времени в разных часовых поясах.

Функция formatDateTime() принимает два параметра:

  • Метка времени. Метка времени — это значение даты и времени, которое необходимо отформатировать.

    Это может быть введенная вручную строка или динамическое содержимое. При вводе вручную ожидается, что временная метка будет иметь формат ISO 8601 («гггг-ММ-ддТЧЧ:мм:ссZ»).

  • Строка формата. Строка формата определяет выходной формат даты и времени.

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

Строка стандартного формата

Строка стандартного формата использует один символ (например, d, g или G) в качестве спецификатора формата.

Примеры

  • Строка формата g соответствует общему шаблону даты и времени (краткое время):

    formatDateTime('2009-06-15T13:45:30', 'g') // Возвращает формат 15.06.2009 13:45

  • Строка формата D соответствует шаблону полной даты:

    formatDateTime('2009-06-15T13:45:30', 'D') // Возвращает формат: понедельник, 15 июня 2009 г.

Дополнительные сведения и примеры использования строк стандартного формата даты и времени см. в разделе Строки стандартного формата даты и времени.

Строки пользовательского формата

Строка пользовательского формата — это любая строка, содержащая более одного символа (например, M/dd/yyyy h:mm tt), которая может определять видимость, расположение и точность месяца, дня, года, часа, секунды и т. д. для значения даты и времени.

Примеры

  • Строка формата M/dd/yyyy h:mm tt представляет тот же шаблон, что и строка стандартного формата g, как описано в разделе Строки стандартного формата:

    formatDateTime('2009-06-15T13:45:30', 'M/dd/yyyy h:mm tt') // Возвращает формат 15.06.2009 13:45

  • Строка формата HH:mm:ss tt возвращает 24-часовой формат:

    formatDateTime('2009-06-15T13:45:30', 'M/dd/yyyy HH:mm:ss tt') // Возвращает формат 15.06.2009 13:45:30

  • Строка формата сч:мм:сс тт возвращает 12-часовой формат:

    formatDateTime('2009-06-15T13:45:30', 'yyyy/MM/dd hh:mm:ss tt') // Возвращает формат 15.06.2009 13:45:30

  • Функция utcNow(), используемая в качестве метки времени для автоматического получения текущих даты и времени в формате UTC, а также строки формата dd-MM-yyyy для отображения даты и времени:

    formatDateTime(utcNow(), 'MMMM dd, yyyy, HH:mm') //Возвращает текущие дату и время в формате 15 июня 2009, 16:50

  • Функция utcNow(), используемая в качестве метки времени для автоматического получения текущих даты и времени в формате UTC, а также строки формата dd-MM-yyyy для отображения даты, но без времени:

    formatDateTime(utcNow(), 'dd-MM-yyyy') //Возвращает текущие дату и время в формате 15-06-2009

Дополнительные сведения и примеры использования строк пользовательского формата даты и времени см. в разделе Строки пользовательского формата даты и времени.

Использование в потоке

Чтобы использовать значение даты и времени в потоке пользовательского интерфейса, выполните следующие шаги:

  1. В потоке выберите поле ввода, в которое вы хотите ввести форматированное значение даты и времени.

  2. Перейдите к пункту Добавить динамическое содержимое и выберите вкладку Выражение, чтобы открыть редактор выражений.

  3. Тип formatDateTime().

    Также найти его можно в разделе функций Дата и время.

  4. Укажите значение для формата, заключив его в одинарные кавычки.

    Динамическое содержимое можно использовать, но его не следует заключать в одинарные кавычки.

  5. Укажите строку формата, заключив ее в одинарные кавычки.

  6. Полное выражение должно выглядеть, как на следующих примерах.

    • formatDateTime('<your-value>', 'dd/MM/yyyy hh:mm tt')
    • formatDateTime('<dynamic-value>', 'dd/MM/yyyy hh:mm tt')

    Снимок экрана: ссылка «Добавить динамическое содержимое» и вкладка «Выражение».

  7. Выберите OK.

Пример с динамическим содержимым

Динамическое содержимое — это переменные, создаваемые триггерами и действиями внутри схемы потока. Они позволяют пользователям выбирать ссылки на поля из предыдущих шагов и записывать выражения.

В этом примере рассматривается простой процесс, демонстрирующий использование функции formatDateTime() с динамическим содержимым. Триггер, используемый в этом примере, представляет собой поток, запускаемый вручную и требующий ввода данных пользователем.

  1. Войдите в Power Automate.

  2. Настройте триггер для потока. В этом примере в качестве входных данных используется Дата.

    1. В левой области навигации выберите Создать>Мгновенный облачный поток.

    2. В поле Имя потока введите имя потока.

    3. В списке Выбор способа запуска для этого потока выберите Активировать поток вручную.

    4. Выберите Создать.

    5. Выберите карточку Активировать поток вручную.

    6. На вкладке Параметры выберите + Добавить входные данные>Дата.

    7. В поле справа введите 22-10-2023.

      Скриншот формата даты на вкладке «Параметры».

  3. Добавьте действие Отправить сообщение электронной почты (V2).

    1. Под карточкой Активировать поток вручную выберите значок плюса (+) >Добавить действие.

    2. В поле Поиск начните вводить Отправить электронное письмо (v2) и выберите его из списка, когда увидите его.

    3. Выберите поле Текст сообщения в электронном письме, а затем выберите fx (Вставить выражение).

    4. Выберите Динамическое содержимое.

      Показанное здесь динамическое содержимое связано с триггером. Оно связывает триггер и действия, которые необходимо выполнить.

    5. В поле выше Динамическое содержимое начните вводить formatDateTime и выберите его в раскрывающемся меню, когда оно появится.

    6. Прокрутите вниз список Динамическое содержимое и выберите Дата активации. Если она не отображается, выберите Показать больше.

      Динамическое содержимое этой переменной берется из поля даты в триггере.

    7. Укажите строку формата (заключенную в одинарные кавычки) в зависимости от желаемого формата вывода даты. В этом примере формат — ММ/дд/гггг.

      Полное выражение выглядит следующим образом:

      formatDateTime(triggerBody()?['date'], 'MM/dd/yyyy')

      Снимок экрана: функция formatDatTime с использованием динамического содержимого.

    8. Выберите Добавить.

  4. На вкладке Параметры вставьте адрес электронной почты в поле Кому и тему в поле Тема.

  5. Выберите Сохранить.

  6. После запуска потока полученное электронное письмо показывает дату в указанном формате ММ/дд/гггг.

Пример преобразования часового пояса

Power Automate по умолчанию использует время в формате UTC. Для обработки значений даты и времени в других часовых поясах вы можете использовать formatDateTime в сочетании с функцией convertTimeZone.

Например, чтобы отобразить текущее время по восточному стандартному времени, вы можете использовать следующий синтаксис:

formatDateTime(convertTimeZone(utcNow(), 'UTC', 'Eastern Standard Time'), 'yyyy-MM-dd HH:mm:ss') // Возвращает дату и время, скорректированные по восточному стандартному времени

См. также

Для получения дополнительной информации о функции даты и времени выберите следующие статьи.