我目前有这样的日期时间格式:
2012-10-11T00:00:00Z
看起来 datejs 对尾随的“z”不满意。
在请求中,我只是使用
"\/Date(" + new Date(2012-10-11T00:00:00).getTime() + ")\/";
使其成为json所需的格式,但是当它从响应(c#后端)返回时,会自动添加“z”。有什么办法可以摆脱它或使 datejs 能够解析这种格式?
我目前有这样的日期时间格式:
2012-10-11T00:00:00Z
看起来 datejs 对尾随的“z”不满意。
在请求中,我只是使用
"\/Date(" + new Date(2012-10-11T00:00:00).getTime() + ")\/";
使其成为json所需的格式,但是当它从响应(c#后端)返回时,会自动添加“z”。有什么办法可以摆脱它或使 datejs 能够解析这种格式?
如果您知道您的日期时间字符串始终采用该格式,并且始终为 UTC,您可以使用Date.UTC非常轻松地将其转换为日期对象,并为一个相当简单的函数保存加载库:
function isoStringToDate(s) {
var d = s.match(/\d+/g);
return new Date(Date.UTC(d[0],--d[1],d[2],d[3],d[4],d[5],d[6]||0));
}
这不关心 Z 是否存在。顺便说一句,在 javascript 中,没有时区的 ISO8601 日期时间字符串应被视为 UTC。
获取时间值:
isoStringToDate('2012-10-11T00:00:00').getTime()
或者如果您想保存一些字符(冒着混淆的风险):
isoStringToDate('2012-10-11T00:00:00')*1
但我更喜欢第一个。