Javascript:如何将epoch转换为dd-mm-yyyy

时间:2013-11-04 19:28:48

标签: javascript date

我有一个纪元时间:x = 1383483902000

我想找一个像dd-mm-yyyy这样的日期,并希望在没有额外库的情况下这样做。

我尝试了几种方法,最后一种方法最终结果如下:

var date = new Date(Math.round(Number(x)));

但是我得到了一个丑陋的东西:sun nov 03 2013 14:05:02 GMT + 01:00

2 个答案:

答案 0 :(得分:3)

使用您的日期对象提取/格式化您想要的部分:

var formattedDate = date.getUTCDate() + '-' + (date.getUTCMonth() + 1)+ '-' + date.getUTCFullYear()

答案 1 :(得分:1)

以下示例使用日期对象的UTC方法处理纪元时间(自UTC时代以来的毫秒数):

var formatDate = function formatDate(date) {            // function for reusability
        var d = date.getUTCDate().toString(),           // getUTCDate() returns 1 - 31
            m = (date.getUTCMonth() + 1).toString(),    // getUTCMonth() returns 0 - 11
            y = date.getUTCFullYear().toString(),       // getUTCFullYear() returns a 4-digit year
            formatted = '';
        if (d.length === 1) {                           // pad to two digits if needed
            d = '0' + d;
        }
        if (m.length === 1) {                           // pad to two digits if needed
            m = '0' + m;
        }
        formatted = d + '-' + m + '-' + y;              // concatenate for output
        return formatted;
    },
    x = 1383483902000,                                  // sample time in ms since epoch
    d = new Date(x),                                    // convert to date object
    f = formatDate(d);                                  // pass to formatDate function to get dd-mm-yyyy
console.log(f);                                         // log output to console for testing

您可以按原样在浏览器控制台中运行它。