我们使用新的Date()。toISOString()。
以ISO格式存储每个日期数据我尝试将此ISO格式的日期转换为node.js中的Date对象,但我收到无效日期响应。
日期字符串为isoDate = 2014-07-09T14:00:00.000Z
我在console.log
和Date.parse(isoDate);
上new Date(isoDate);
做了NaN
但每个都返回Invalid Date
和{{1}}。
我检查了日期字符串是否包含任何不可见的错误字符,但它们很好,可以在浏览器控制台上转换。
这是否意味着我需要手动转换字符串并使用解析后的字符串创建Date对象?
感谢阅读。
答案 0 :(得分:2)
尝试使用moment库。它具有许多与日期一起使用的功能,并且可以在客户端和服务器端轻松使用。调用moment("2014-07-09T14:00:00.000Z").toDate()
会使用此库将您的字符串转换为日期JavaScript对象。
答案 1 :(得分:0)
我发布这个答案,以防有人像我一样经历这个。
我发生了什么事,我以为我是从浏览器发送ISOString
{
startDate: date.startDate
}
实际上我发送了一个时刻实例作为参数
当我检查网络检查员时,我发现正在发送的数据是ISO格式 - 是的,但它用双引号括起来“”
{
startDate: "2016-12-31T16:00:00.000Z"
}
它不应该用双qoutes括起来,应该看起来像这样
{
startDate: 2016-12-31T16:00:00.000Z
}
对我有用的是将时刻解析为iso string
{
startDate: date.startDate.toISOString()
}