如何将毫秒转换为可读的日期?

IT技术 javascript jquery
2021-02-19 09:45:05

下列:

new Date(1324339200000).toUTCString()

输出:

"Tue, 20 Dec 2011 00:00:00 GMT"

我需要它回来Dec 20除了我可以使用的更好的方法toUTCString()吗?我正在寻找任何方法来解析毫秒,以返回人类可读的日期。

6个回答

使用库 Datejs,您可以通过其toString 格式说明符非常优雅地完成此操作http : //jsfiddle.net/TeRnM/1/

var date = new Date(1324339200000);

date.toString("MMM dd"); // "Dec 20"
code.google.com/p/datejs/downloads/list上的Datejs上次更新是 2007 年吗?这是您建议的同一个图书馆吗?
2021-04-22 09:45:05
我认为应该强调“使用库Datejs”这句话
2021-05-04 09:45:05
@Christian Fazzini:是的,它有点旧datejs.com也说明了这一点)。不过它仍然可以正常工作:)
2021-05-09 09:45:05
@pimvdb 你的小提琴输出它像这样 Tue Dec 20 2011 05:30:00 GMT+0530(印度标准时间),我只想要 Tue Dec 20 2011 05:30:00
2021-05-19 09:45:05

您可以使用 datejs 并转换为不同的格式。我已经测试了一些甲酸盐并且工作正常。

var d = new Date(1469433907836); // Parameter should be long value

d.toLocaleString()     // 7/25/2016, 1:35:07 PM
d.toLocaleDateString() // 7/25/2016
d.toDateString()       // Mon Jul 25 2016
d.toTimeString()       // 13:35:07 GMT+0530 (India Standard Time)
d.toLocaleTimeString() // 1:35:07 PM
d.toISOString();       // 2016-07-25T08:05:07.836Z
d.toJSON();            // 2016-07-25T08:05:07.836Z
d.toString();          // Mon Jul 25 2016 13:35:07 GMT+0530 (India Standard Time)
d.toUTCString();       // Mon, 25 Jul 2016 08:05:07 GMT
有关工作示例,请参阅jsfiddle.net/Abeeee/yc7q4owa/4
2021-05-02 09:45:05
确保传递一个整数作为 Date 的参数,如果传递一个字符串它会说无效数据。
2021-05-17 09:45:05

不,您需要手动执行此操作。

function prettyDate(date) {
  var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
                'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];

  return months[date.getUTCMonth()] + ' ' + date.getUTCDate() + ', ' + date.getUTCFullYear();
}

console.log(prettyDate(new Date(1324339200000)));

这是一个解决方案。稍后您可以通过“:”拆分并获取数组的值

 /**
 * Converts milliseconds to human readeable language separated by ":"
 * Example: 190980000 --> 2:05:3 --> 2days 5hours 3min
 */
function dhm(t){
    var cd = 24 * 60 * 60 * 1000,
        ch = 60 * 60 * 1000,
        d = Math.floor(t / cd),
        h = '0' + Math.floor( (t - d * cd) / ch),
        m = '0' + Math.round( (t - d * cd - h * ch) / 60000);
    return [d, h.substr(-2), m.substr(-2)].join(':');
}

//Example
var delay = 190980000;                   
var fullTime = dhm(delay);
console.log(fullTime);

只需几行纯 js 代码即可完成。

var date = new Date(1324339200000);
    var dateToStr = date.toUTCString().split(' ');
    var cleanDate = dateToStr[2] + ' ' + dateToStr[1] ;
console.log(cleanDate);

12 月 20 日返回。希望它有所帮助。