到目前为止的Javascript时间戳

时间:2014-05-15 14:31:53

标签: javascript json xmlhttprequest amcharts

任何人都可以帮助我,这让我发疯了。我用Javascript打招呼,我第一次遇到日期问题。

我已经问过了,但是没有人回答我: json with parsed time or timestamp to amchartss

基本上我有这个XHR电话。

 getJSON = function(url) {
    var xhr = new XMLHttpRequest();
    xhr.open('get', url, true);
    xhr.responseType = 'json';

    xhr.onload = function() {
        var status = xhr.status;
        if (status == 200) {
            chartLoad(xhr.response);
            console.log(xhr.response);
        } else {
            console.log("oh shit");
        }
    };
    xhr.send();
};

我在这里回复带有时间戳的JSON文件,如何将所有时间戳转换为日期YYYY-MM-DD HH:mm。

在代替时间戳之前,我在服务器上直接转换了日期字符串,这样我就不需要在客户端进行转换,但这种方式只适用于Chrome。

HELP!

3 个答案:

答案 0 :(得分:1)

我喜欢将moment.js用于我的日期时间解析和格式化需求:

http://momentjs.com/

代码最终如下:

moment(some_timestamp).format('YYYY-MM-DD HH:mm')

答案 1 :(得分:0)

尽管JavaScript中没有原生的date.format方法,但您可以为一次性实现增加自己的方法。在你的情况下像:

var newDate = new Date(myTimeStamp);

var outDate = newDate.getFullYear()+"-"+(newDate.getMonth()+1)+"-"+newDate.getDate()+" "+newDate.getHours()+":"+newDate.getMinutes();

今天输出的日期:2014-5-15 16:7 注意getMonth的+1从0开始计数 如果你想确保值总是两位数(即单个数字上的前导零),可能需要额外的摆弄

在xhr onload处理程序中执行此操作可能是这样的:

           xhr.onload = function (e) {
                if (this.status == 200) {
                    var blob = this.response;

                    var img = document.createElement('img');
                    img.onload = function (e) {
                        window.URL.revokeObjectURL(img.src); // Clean up after yourself.
                    };
                    img.src = window.URL.createObjectURL(blob);
                    document.body.appendChild(img);

                    var myTimeStamp = e.timeStamp;
                    //I would probably want to put this date code
                    //in a separate function somewhere
                    var newDate = new Date(myTimeStamp);
                    var outDate = newDate.getFullYear()+"-"+(newDate.getMonth()+1)+"-"+newDate.getDate()+" "+newDate.getHours()+":"+newDate.getMinutes();
                    var div = document.createElement('div');
                    div.innerHTML = outDate;
                    document.body.appendChild(div);
                }
            };

答案 2 :(得分:0)