【问题标题】:Zapier Javascript code to isolate parts of a datetime stringZapier Javascript代码来隔离日期时间字符串的一部分
【发布时间】:2019-11-06 00:33:44
【问题描述】:

我想分别使用年、月和日。首先,我需要摆脱时间。这就是我正在尝试的...

输入数据

日期时间 2019-10-03 03:04:23

代码

let { datetime } = inputData;
let { date } = datetime.split(' ')[0];
const dateArray = date.split("-");
const year = dateArray[0];
const month = dateArray[1];
const day = dateArray[2];
output = [{year, month, day}];

我得到的错误是......

我们在发送您的测试时遇到了问题。 TypeError:无法读取未定义的属性“拆分”

【问题讨论】:

  • 您在哪一行收到该错误? inputData 是日期对象还是字符串?
  • 我不知道它是哪一行。 Zapier没有具体说明。如果是这样,我可能不会在这里。我也无法判断 inputData 是 Date 对象还是字符串。我假设它是一个字符串,但我无法证明它。它由 Ninja 表单提供。
  • 如果是字符串,为什么在初始化时将变量封装在花括号中?它是否来自对象内部?

标签: javascript zapier


【解决方案1】:

你的问题出在这一行:

let { date } = datetime.split(' ')[0];

datetime 是一个字符串,所以datetime.split(' ') 返回["2019-10-03", "03:04:23"]["2019-10-03", "03:04:23"].dateundefined,这就是下一行错误的原因。

删除那些花括号,它可以按预期工作:

let { datetime } = inputData;
let date = datetime.split(' ')[0]; // <-- change this line
const dateArray = date.split("-");
const year = dateArray[0];
const month = dateArray[1];
const day = dateArray[2];
output = [{year, month, day}];

【讨论】:

  • 我假设 datetime 是 zapier 定义的 inputdata var 名称(如果不是,那么上面的用户无论如何都会出错?您也可以将第 1 行和第 2 行替换为 let date = inputData.datetime.split(' ')[0]; ,我这样做只是为了节省自己的一步。
  • 正确,inputData 有函数的输入
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-07
  • 2016-04-02
  • 1970-01-01
相关资源
最近更新 更多