javascript时间戳与日期格式的相互转换

时间:2021-09-17 02:31:07

这里总结下JavaScript中时间戳和日期格式的相互转换方法(自定义函数)。

将时间戳转换为日期格式

function timestampToTime(timestamp) {
    var date = new Date(timestamp * 1000); // 时间戳为10位需*1000,时间戳为13位的话不需乘1000
    var Y = date.getFullYear() + '-';
    var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
    var D = date.getDate() + ' ';
    var h = date.getHours() + ':';
    var m = date.getMinutes() + ':';
    var s = date.getSeconds();

    return Y + M + D + h + m + s;
}

基本原理就是通过new Date一个日期对象(将时间戳作为参数),然后调用日期对象内置的各种方法去获取年、月、日等各个组成部分,最后拼接成一个日期格式的字符串。

另外要注意,如果是Unix的时间戳要先乘以1000。

将日期格式转换成时间戳

var date = new Date('2019-07-07 07:07:07:123');
// 有三种方式获取
var time1 = date.getTime();
var time2 = date.valueOf();
var time3 = Date.parse(date);

以上三种方式中,第一种和第二种会精确到毫秒,而第三种只能精确到秒,毫秒位会自动替换为000。

同样,获取的时间戳除以1000就能获得Unix的时间戳。

 

"有一天你会明白,善良比聪明更难。聪明是一种天赋,而善良是一种选择。"