从JSON格式的响应对象返回以下字符串,我想将其解析为有用的东西:/ Date(1283457528340)/
如何使用JavaScript将其解析为用户友好的内容?
答案 0 :(得分:5)
这是自纪元以来的毫秒数。
此函数从字符串中提取数字,并返回从该时间编号创建的Date对象。
function dateFromStringWithTime(str) {
var match;
if (!(match = str.match(/\d+/))) {
return false;
}
var date = new Date();
date.setTime (match[0] - 0);
return date;
}
例如,
console.log(dateFromStringWithTime('/Date(1283457528340)/').toString());
输出结果为:
Fri Sep 03 2010 02:58:48 GMT+0700 (ICT)
答案 1 :(得分:1)
取决于。这个价值代表什么?假设UNIX时间戳毫秒(否则调整),您可以提取值,然后应用parseInt
并用它构造一个新的Date
对象。
var str = "/Date(1283457528340)/";
var matches = str.match(/([0-9]+)/);
var d = parseInt(matches[0]);
var obj = new Date(d);
然后您应该能够正常使用Date
对象。
这是未经测试的,可能有错别字/错误,但这个想法应该是合理的。
修改: matches[1]
- > matches[0]
答案 2 :(得分:0)
function parseJsonDate(jsonDate) {
var epochMillis = jsonDate;
var d = new Date(parseInt(epochMillis.substr(6)));
return d;
}
上面的代码将为您提供一个日期格式化的日期,该日期在给定视图中很有用。
传递给函数(jsonDate
)的参数是您尝试转换的字符串,而行return d
正在返回格式良好的日期。
只是获得所需日期的另一种方式。