【问题标题】:Javascript Date from milliseconds and timezone [duplicate]来自毫秒和时区的Javascript日期[重复]
【发布时间】:2012-11-16 21:04:07
【问题描述】:

可能重复:
How to format a JSON date?
Parsing Date from webservice

对不起,如果这个问题已经被问过。我环顾四周,但一直找不到。是否有一种快速便捷的方法可以仅使用 javascriptjQuery(不包括额外的 jQuerylibraries)将“json”日期转换为人类友好的格式?

日期格式如下:

creationDate: "/Date(1346713200000+0100)/"

谢谢

【问题讨论】:

  • 没有像 json 日期 这样的东西。您只需要去掉额外的非数字(+ 除外)字符并在 javascript 中创建一个日期。请参阅此问题寻求帮助:stackoverflow.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!).. 我只是好奇,你会怎么称呼它?

标签: javascript jquery json datetime


【解决方案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);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-12
    • 2016-04-17
    • 2021-05-31
    • 1970-01-01
    • 2020-10-31
    • 2017-06-05
    • 2013-07-04
    • 2015-07-24
    相关资源
    最近更新 更多