【发布时间】:2017-09-15 10:43:41
【问题描述】:
我正在尝试将日期字符串转换为 Node.js 中的 unix 时间戳。
下面的代码在我的客户端上完美运行,但是当我在服务器上运行它时出现错误:
(node:19260) UnhandledPromiseRejectionWarning: UnhandledPromiseRejectionWarning: 未处理的承诺拒绝 (rejection id: 1): TypeError: input.substring is not a function
我的代码:
function dateParser(input) {
// function is passed a date and parses it to create a unix timestamp
// removing the '.000' from input
let finalDate = input.substring(0, input.length - 4);
return new Date(finalDate.split(' ').join('T')).getTime();
}
我的输入示例是 2017-09-15 00:00:00.000
那么为什么上面的方法在我的客户端上运行,但在 Node 中却不行,我将如何复制 node 中的功能?
【问题讨论】:
-
dateParser()是如何被调用的以及传递给它的是什么? -
你能
console.log(typeof input)吗? -
@TGrif 对象返回
-
由于您没有将字符串而是日期对象传递给 dateParser 函数,因此您会收到 input.substring is not a function 错误。您可以使用
Date.parse()来获取日期的 Unix 时间戳表示。
标签: javascript node.js unix-timestamp