【发布时间】:2016-04-13 18:18:57
【问题描述】:
我的日期如下:
2016-04-13T09:57:21-04
我正在尝试将其转换为 javascript 日期:
event.timestamp = new Date(event.timestamp);
其中 event.timestamp 是日期的字符串表示形式。问题是这被设置为转换为未定义。我几乎可以肯定我的日期时间是有效的 ISO 格式。我在这里做错了什么?
编辑
有些人注意到日期时间无效,我同意 javascript 不这样认为,但我从 Scala API 调用生成日期时间
使用jodatime:
DateTime.now()
所以这将生成一个有效的日期时间(至少对于 scala)。 -04 是偏移量。我并不是在争论日期时间在 Javascript 中是否有效,因为这是显而易见的。 我很好奇是否有办法使它对 javascript 有效,因为 jodatime 日期库在 Java 和 Scala 中似乎很标准,我假设有一种方法可以使它与 JavaScript 一起使用。
编辑 2 Thriggle 的回答是正确的,但您也可以使用 Moment 以正确格式获取日期:
moment(event.timestamp, "YYYY-MM-DD HH:mm Z").toDate();
moment 可以按照我的格式读取日期时间 (2016-04-13T09:57:21-04)
【问题讨论】:
-
日期无效。尝试新日期(“2016-04-13T09:57:21-04”);自己看看。问题是
-04你要设置时区吗? -
日期结束时的“-04”是什么?请参阅此链接 - stackoverflow.com/questions/21826161/…
-
-04 是偏移量
-
请注意,即使使用 moment.js,您仍然没有正确解析字符串,它被视为本地(也许您在时区 UTC-0400,所以不要注意到)。
标签: javascript date datetime