如何在 integromat 中格式化来自 google calender 和 Dialogflow 的“开始日期”?

问题描述

我正在尝试在 integromat 中设置一个过滤器,我将条件设置为这样;

条件 谷歌日历空闲/忙碌 - 时间分钟。等于 dialogflow date_time。

问题是谷歌日历的日期/时间格式类似于:- 2021 年 4 月 2 日下午 3:00,对话流的日期/时间格式类似于 2021-04-02T15:00:00+5:30。

所以我的条件没有满足。我希望日期/时间格式相同。我怎样才能在 integromat 中做到这一点??

enter image description here

解决方法

我认为您需要有一个 webhook 并通过 webhook 比较两个日期。您可以使用此代码将来自 Dialogflow 的日期转换为您想要的格式。

// Get date-time string for calender
const dateTimeForCalander = (date,time) => {

    let year = date.split('T')[0].split('-')[0];
    let month = date.split('T')[0].split('-')[1];
    let day = date.split('T')[0].split('-')[2];

    let hour = time.split('T')[1].split(':')[0];
    let minute = time.split('T')[1].split(':')[1];

    let newDateTime = `${year}-${month}-${day}T${hour}:${minute}:00.000${TIMEOFFSET}`;

    let event = new Date(Date.parse(newDateTime));

    let startDate = event;
    let endDate = new Date(new Date(startDate).setHours(startDate.getHours()+1));

    return {
        'start': startDate,'end': endDate
    }
};