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

标签 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();

我真正想要结束的是一个我可以使用的日期对象 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 
    };
}

最佳答案

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

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

给我

Fri, 02 May 2014 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/

关于javascript - 将时间戳转换为新日期的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23804692/

相关文章:

php - 时间功能在php中工作多长时间

Python时间增量错误: skipping a day when trying to get tomorrow

javascript - 播放中的 HTML5 视频火灾事件(暗淡页面)

MySQL日期只是不想被插入

php - MySQL 从具有最新日期的用户中选择最新的不同记录

linux - 如何让 bash 日期脚本返回相对于非当前时间的星期几?

java - 如何将 java.sql.Timestamp 增加 14 天?

javascript - Jsfiddle 上未定义 Autoresize

javascript - 从另一个 HTML 页面获取数据

javascript - 卡片翻转游戏 JavaScript 的隐藏样式可见性