DateJS解析日期时间问题

时间:2012-10-11 05:52:41

标签: c# javascript ajax datetime datejs

我目前的日期时间格式如下:

2012-10-11T00:00:00Z

看起来像datejs对尾随'z'不满意。

在请求中,我只是使用

"\/Date(" + new Date(2012-10-11T00:00:00).getTime() + ")\/";

将其作为json必需格式,但当它从响应(c#backend)返回时,会自动添加“z”。有没有办法摆脱它或使datejs能够解析这种格式?

2 个答案:

答案 0 :(得分:2)

<强>更新

Checkout moment.js,它解决了许多与javascript日期时间有关的常见问题。

  

一个5kb的javascript日期库,用于解析,验证,操作和格式化日期。

答案 1 :(得分:0)

如果您知道您的日期时间字符串始终采用该格式,并且始终为UTC,则可以使用Date.UTC将其轻松转换为日期对象,并保存加载库以获得相当简单的功能: / p>

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的日期时间字符串没有时区should be treated as UTC

获取时间值:

isoStringToDate('2012-10-11T00:00:00').getTime()

或者如果你想保存一些字符(有混淆的风险):

isoStringToDate('2012-10-11T00:00:00')*1

但我更喜欢第一个。