将时间戳转换为新日期的问题

时间:2014-05-22 10:49:05

标签: javascript date timestamp

我的时间戳为:

1399043514913

实际上Fri, 02 May 2014 15:11:54 GMT,但我得到了Sat, 05 Dec 46303 06:35:13 GMT

如何正确地将时间戳转换为Fri, 02 May日期?

我正在尝试:

var dateTime = new Date(milliseconds * 1000);
var UTCString = new Date(dateTime).toUTCString();

我真正想要的是一个Date对象,我可以使用getDate()getMonth()等,所以我可以将日期放在我喜欢的任何格式中。

或者我想要一种将1399043514913转换为02/05/2014 15:11:54

的方式

更新

由于@JensB,

解决了问题

这里是我的毫秒到目前为止的格式转换器:

function formatTimeStamp(milliseconds) {

    if (typeof milliseconds === "string")
        milliseconds = parseInt(milliseconds.match(/\d+/g)[0]);

    var dateTime = new Date(milliseconds);
    var dateVar = new Date(dateTime);
    var ISOString = new Date(dateVar).toISOString();
    var UTCString = new Date(dateVar).toUTCString();

    function pad(s) { return (s < 10) ? ("0" + s) : s.toString(); }

    var dateTimeParts = {
        dd: pad(dateVar.getDate()),
        MM: pad(dateVar.getMonth() + 1),
        yyyy: dateVar.getFullYear().toString(),
        yy: dateVar.getFullYear().toString().substring(2, 4),
        HH: pad(dateVar.getHours()),
        mm: pad(dateVar.getMinutes()),
        ss: pad(dateVar.getSeconds())
    };

    var execute = function(string) {

        for (var key in dateTimeParts)
            string = string.replace(key, dateTimeParts[key]);

        return string;
    };

    return {
        ISOString: ISOString,
        UTCString: UTCString,
        date: execute("dd/MM/yyyy"),
        time: execute("HH:mm"),
        dateTime: execute("dd/MM/yy HH:mm:ss"),
        dateTimeParts: dateTimeParts 
    };
}

1 个答案:

答案 0 :(得分:3)

只运行此代码(与您的问题相同)

var dateTime = new Date(1399043514913);
var UTCString = new Date(dateTime).toUTCString();
alert(UTCString);

给我

  

2014年5月2日星期五15:11:54 GMT

http://jsfiddle.net/DqSGJ/

根据评论编辑,这项工作?

$( document ).ready(function() {
    var dateTime = new Date(1399043514913);
    var dateVar = new Date(dateTime);
    var UTCString = dateVar.toUTCString();
    $("#dt").text(UTCString);
    $("#dt2").text("Month: "  + dateVar.getMonth());
    $("#dt3").text("GetDate: "  + dateVar.getDate());
});

Fiddler:http://jsfiddle.net/DqSGJ/3/