Как настраивать/форматировать значения даты и времени в потоке
В этой статье описаны действия по настройке или форматированию значений даты и времени в потоке 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
Дополнительные сведения и примеры использования строк пользовательского формата даты и времени см. в разделе Строки пользовательского формата даты и времени.
Использование в потоке
Чтобы использовать значение даты и времени в потоке пользовательского интерфейса, выполните следующие шаги:
В потоке выберите поле ввода, в которое вы хотите ввести форматированное значение даты и времени.
Перейдите к пункту Добавить динамическое содержимое и выберите вкладку Выражение, чтобы открыть редактор выражений.
Тип formatDateTime().
Также найти его можно в разделе функций Дата и время.
Укажите значение для формата, заключив его в одинарные кавычки.
Динамическое содержимое можно использовать, но его не следует заключать в одинарные кавычки.
Укажите строку формата, заключив ее в одинарные кавычки.
Полное выражение должно выглядеть, как на следующих примерах.
formatDateTime('<your-value>', 'dd/MM/yyyy hh:mm tt')
formatDateTime('<dynamic-value>', 'dd/MM/yyyy hh:mm tt')
Выберите OK.
Пример с динамическим содержимым
Динамическое содержимое — это переменные, создаваемые триггерами и действиями внутри схемы потока. Они позволяют пользователям выбирать ссылки на поля из предыдущих шагов и записывать выражения.
В этом примере рассматривается простой процесс, демонстрирующий использование функции formatDateTime()
с динамическим содержимым. Триггер, используемый в этом примере, представляет собой поток, запускаемый вручную и требующий ввода данных пользователем.
Войдите в Power Automate.
Настройте триггер для потока. В этом примере в качестве входных данных используется Дата.
В левой области навигации выберите Создать>Мгновенный облачный поток.
В поле Имя потока введите имя потока.
В списке Выбор способа запуска для этого потока выберите Активировать поток вручную.
Выберите Создать.
Выберите карточку Активировать поток вручную.
На вкладке Параметры выберите + Добавить входные данные>Дата.
В поле справа введите 22-10-2023.
Добавьте действие Отправить сообщение электронной почты (V2).
Под карточкой Активировать поток вручную выберите значок плюса (+) >Добавить действие.
В поле Поиск начните вводить Отправить электронное письмо (v2) и выберите его из списка, когда увидите его.
Выберите поле Текст сообщения в электронном письме, а затем выберите fx (Вставить выражение).
Выберите Динамическое содержимое.
Показанное здесь динамическое содержимое связано с триггером. Оно связывает триггер и действия, которые необходимо выполнить.
В поле выше Динамическое содержимое начните вводить formatDateTime и выберите его в раскрывающемся меню, когда оно появится.
Прокрутите вниз список Динамическое содержимое и выберите Дата активации. Если она не отображается, выберите Показать больше.
Динамическое содержимое этой переменной берется из поля даты в триггере.
Укажите строку формата (заключенную в одинарные кавычки) в зависимости от желаемого формата вывода даты. В этом примере формат — ММ/дд/гггг.
Полное выражение выглядит следующим образом:
formatDateTime(triggerBody()?['date'], 'MM/dd/yyyy')
Выберите Добавить.
На вкладке Параметры вставьте адрес электронной почты в поле Кому и тему в поле Тема.
Выберите Сохранить.
После запуска потока полученное электронное письмо показывает дату в указанном формате ММ/дд/гггг.
Пример преобразования часового пояса
Power Automate по умолчанию использует время в формате UTC. Для обработки значений даты и времени в других часовых поясах вы можете использовать formatDateTime
в сочетании с функцией convertTimeZone
.
Например, чтобы отобразить текущее время по восточному стандартному времени, вы можете использовать следующий синтаксис:
formatDateTime(convertTimeZone(utcNow(), 'UTC', 'Eastern Standard Time'), 'yyyy-MM-dd HH:mm:ss')
// Возвращает дату и время, скорректированные по восточному стандартному времени
См. также
Для получения дополнительной информации о функции даты и времени выберите следующие статьи.