JavaScript日期转换为xs:dateTime

8
有没有简单的方法将标准 JavaScript 日期格式转换为 xs:dateTime?
我有一个日期值(new Date()),需要转换成这种格式:2015-01-16T20:26:53.974+03:00。
所以:
Fri Jan 16 2015 22:26:53 GMT+0500 (Ekaterinburg Standard Time) -> 2015-01-16T20:26:53.974+03:00
很奇怪,但是找不到简单的解决方案。
1个回答

10

我相信这与ISO日期格式相同。

var date = new Date();
var formatted = date.toISOString();


1
很好,唯一的问题是它不包含时区'+03:00'。 - WHITECOLOR
糟糕,对不起。你是对的。基本上你想要以下格式字符串: YYYY-MM-DDTHH:mm:ss.sss ISO标准使用 YYYY-MM-DDTHH:mm:ss.sssZ 它去掉了时区并假设为UTC。如果没有一个好的格式化库,你就得手动操作x.getFullYear() + "-" + (x.getMonth() + 1) + "-" + x.getDate() + "T" + x.getHours() + ":" + x.getMinutes() + ":" + x.getSeconds() + ":" + x.getMilliseconds() + "+" + (x.getTimezoneOffset() / 60) + ":00" - ctregan
2
或者另一种选择是,将这两种方法结合起来。Var x = new Date(). var formatted = x.toISOString(). formatted += "+" + (x.getTimezoneOffset() / 60) + ":00" - ctregan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接