我目前有这样的datetime格式:
2012-10-11T00:00:00Z而且看起来datejs对尾随的'z‘并不满意。
在请求中,我只是使用
"\/Date(" + new Date(2012-10-11T00:00:00).getTime() + ")\/";以使其成为json所需的格式,但当它从响应(c#后端)返回时,会自动添加'z‘。有没有办法摆脱它,或者让datejs能够解析这种格式?
发布于 2012-10-11 13:58:16
更新
查看moment.js,它解决了javascript中关于datetime的许多常见问题。
一个5kb的
日期库,用于解析、验证、操作和格式化日期。javascript
发布于 2012-10-11 14:46:30
如果您知道date time字符串始终采用该格式,并且始终为UTC,则可以使用Date.UTC非常容易地将其转换为date对象,并省去为相当简单的函数加载库:
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中,没有时区should be treated as UTC的ISO8601日期时间字符串。
要获取时间值,请执行以下操作:
isoStringToDate('2012-10-11T00:00:00').getTime()或者,如果您想保存几个字符(冒着混淆的风险):
isoStringToDate('2012-10-11T00:00:00')*1但我更喜欢第一个。
https://stackoverflow.com/questions/12833038
复制相似问题