这里总结下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的时间戳。
"有一天你会明白,善良比聪明更难。聪明是一种天赋,而善良是一种选择。"