来自毫秒和时区的Javascript日期[重复]
Posted
技术标签:
【中文标题】来自毫秒和时区的Javascript日期[重复]【英文标题】:Javascript Date from milliseconds and timezone [duplicate] 【发布时间】:2012-11-16 21:04:07 【问题描述】:可能重复:How to format a JSON date?Parsing Date from webservice
对不起,如果这个问题已经被问过。我环顾四周,但一直找不到。是否有一种快速便捷的方法可以仅使用 javascript
和 jQuery
(不包括额外的 jQuery
libraries)将“json”日期转换为人类友好的格式?
日期格式如下:
creationDate: "/Date(1346713200000+0100)/"
谢谢
【问题讨论】:
没有像 json 日期 这样的东西。您只需要去掉额外的非数字(+
除外)字符并在 javascript 中创建一个日期。请参阅此问题寻求帮助:***.com/questions/11024367/…
你不能这样做:var d=new Date(1346713200000+0100);
?
是的 >var d = new Date(1346713200000+0100) >d 2012 年 9 月 3 日星期一 19:00:00 GMT-0400(东部夏令时间)
@Ahren:“json”日期不是指Javascript日期吗? (首字母缩写词.. JSON!).. 我只是好奇,你会怎么称呼它?
【参考方案1】:
> var maybeDateString = "/Date(1346713200000+0100)/";
> fromDateString(maybeDateString)
Tue Sep 04 2012 02:00:00 GMT+0200
function fromDateString(str)
var res = str.match(/\/Date\((\d+)(?:([+-])(\d\d)(\d\d))?\)\//);
if (res == null)
return new Date(NaN); // or something that indicates it was not a DateString
var time = parseInt(res[1], 10);
if (res[2] && res[3] && res[4])
var dir = res[2] == "+" ? -1 : 1,
h = parseInt(res[3], 10),
m = parseInt(res[4], 10);
time += dir * (h*60+m) * 60000;
return new Date(time);
【讨论】:
以上是关于来自毫秒和时区的Javascript日期[重复]的主要内容,如果未能解决你的问题,请参考以下文章