【问题标题】:How to convert normal date to JSON date in JavaScript?如何在 JavaScript 中将普通日期转换为 JSON 日期?
【发布时间】:2014-03-07 16:11:03
【问题描述】:

我的问题很简单。

有很多关于将 JSON 日期 (Date/00213912321/) 转换为正常日期 (7/03/14 10:00 am) 的信息。

但我需要做相反的事情。我有一个正常的日期,我需要它的 JSON 格式。我怎样才能做到这一点?

我正在使用 jQuery,所以如果有一些我可以使用的插件,那就太好了。

【问题讨论】:

  • 没有“JSON 日期”之类的东西。我不确定你想在这里实现什么。
  • JSON.stringify(new Date()) 输出2014-03-07T16:29:39.498Z

标签: javascript jquery json date


【解决方案1】:

如果你有一个固定的日期,也许Date 对象可以解析它。

var dateObj = new Date('7/03/14 10:00 am');
    timestamp = dateObj.getTime();  // timestamp is 1404396000000

【讨论】:

  • 非常感谢!不幸的是,我不能给你们两个都接受的答案。
【解决方案2】:

没有 JSON 日期这样的东西。 JSON 不支持任何类型的日期。

00213912321 似乎是纪元时间。您可以使用 getTime 方法从 Date 对象中获取它。

因此:

var date = "Date/" + someDateObject.getTime()  + "/";

【讨论】:

  • 这正是我所需要的。抱歉,直到今天我才知道纪元时间的存在。我认为 Date/1230931819/ 是某种 Json 格式。非常感谢
【解决方案3】:
// convert json date into normal date.
function ConvertJsonDateString(jsonDate)
{
    var shortDate = null;

    if (jsonDate)
    {
        var regex = /-?\d+/;
        var matches = regex.exec(jsonDate);
        var dt = new Date(parseInt(matches[0]));
        var month = dt.getMonth() + 1;
        const monthNames = ["", "January", "February", "March", "April", "May", "June",
                                "July", "August", "September", "October", "November", "December"
                           ];
        var monthString =  monthNames[month];
        // var monthString = month > 9 ? month: '0' + month;
        var day = dt.getDate();
        var dayString = day > 9 ? day : '0' + day;
        var year = dt.getFullYear();
        shortDate = monthString + '-' + dayString + '-' + year;
    }
    return shortDate;
};

Ajax json

{ "data": function (r) {
    var date = ConvertJsonDateString(r.Jsondate);
    var Expirydt = date == null ? "" :  date;
    return Expirydt;
    }
},

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-14
    • 2015-11-11
    • 1970-01-01
    • 2020-01-09
    • 2020-03-04
    • 1970-01-01
    • 1970-01-01
    • 2016-05-26
    相关资源
    最近更新 更多