我的日期格式如下:
2012-12-09T02:08:34.6225152Z
我正在使用datejs javascript library并希望解析上述日期,但我似乎无法弄清楚正确的格式字符串。我尝试了以下方法,但它不起作用。
Date.parse('2012-12-09T02:08:34.6225152Z', 'yyyy-MM-ddTHH:mm:ss.fffffffZ');
如果它更容易,我也愿意解析本机javascript中的字符串。
答案 0 :(得分:1)
DateJS似乎不支持毫秒解析。
DateJS附加功能上的u
FormatSpecifier可以工作(尚未测试)。
答案 1 :(得分:0)
我最后通过更改发送到Javascript的字符串格式来解决此问题。而不是2012-12-09T02:08:34.6225152Z
我使用以下代码将JSON序列化程序更改为输出1363607010099
:
var serializer = new JsonNetSerializer(new JsonSerializerSettings
{
DateFormatHandling = DateFormatHandling.MicrosoftDateFormat,
NullValueHandling = NullValueHandling.Ignore
});
然后我改变了我的javascript以使用我找到的这个函数解析日期:
String.prototype.toDate = function () {
"use strict";
var match = /\/Date\((\d{13})\)\//.exec(this);
return match === null ? null : new Date(parseInt(match[1], 10));
};
最后,我使用这段代码输出日期(利用DateJS库):
myTime.toDate().toString('h:mm:ss tt dd-MMM-yyyy')
它有效。这看起来有些过时,所以我更愿意考虑替代方案。