Форматирование даты в определенный тип в zapier cli

#zapier-cli

#zapier-cli

Вопрос:

введите описание изображения здесьВ моих входных полях zapier есть одно поле, в котором пользователь может ввести дату, но я хочу, чтобы zapier работал, только если я напишу дату в «2020-09-18T15:30», в противном случае должно появиться сообщение о том, что введенные данные не соответствуют указанному формату. Я пробовал это, но это не работает.

 const activityEditableFields = async (z, bundle) => {
    if (bundle.inputData.dueDate) {
     (/d{4}-d{2}-d{2}Td{2}:d{2}Z/.test(`${bundle.inputData.dueDate}`))
    }
  

здесь в поле указано значение duedate, и я указываю формат, в котором, если в нем есть данные, они должны соответствовать указанному формату, но в zap нет разницы. Если вы можете помочь мне как можно скорее. Ответьте.

введите описание изображения здесь

Ответ №1:

В этом не должно быть необходимости. Согласно документам:

Поля DateTime позволяют пользователям вводить даты и время, используя их читаемые человеком значения, машиночитаемые даты или стандартные английские слова для обозначения времени типа tomorrow . Zapier интерпретирует ввод даты от пользователей и выводит стандартное значение даты и времени ISO 8601 в ваш API.

Если вы объявите поле как datetime , то bundle.inputData.dueDate всегда будет правильное значение даты и времени ISO 8601.

Комментарии:

1. хорошо, дата автоматически берется в ISO 8601 datetime, но в ответе затем отображается добавление 5 часов 30 минут. Я не хочу, чтобы это произошло. Он должен напечатать дату, введенную в поле ввода.

2. Можете ли вы дополнить свой вопрос вводом и выводом, которые вы видите / ожидаете? похоже, что это работает так, как задумано, но сбивает с толку

3. Я обновил свой вопрос с помощью InputField, где я даю ввод и ответ, который я вижу. И, как вы можете видеть, в ответе это не совпадает с заданным вводом.

Ответ №2:

Самый простой способ, который я смог найти для решения этой проблемы, заключался в использовании с JS-кодом только первых 10 символов даты Zapier ISO8601.

 bundle.inputData.dueDate.substr(0,10)
  

или использовать moment для анализа даты (эта библиотека поддерживается Zapier):

 const moment = z.require('moment');
....
moment(bundle.inputData.dueDate).format("YYYY-MM-DD HH:MM:SS UTC")
  

Единственным недостатком является то, что вам нужно использовать редактор кода