时间戳就是把格林威治时间1970年01月01日00时00分00秒
(北京时间1970年01月01日08时00分00秒
)作为时间基点,然后计算该日期到当前日期的总秒数,从而获得当前日期的时间戳,时间戳是一个长度为10位
或者13位
的整数。本篇文章主要介绍几个时间戳和北京时间转换获取的代码实现方法。点击可在线尝试时间戳转换。
获取当前时间戳
如下为获取当前时间戳的代码:
var currentTimeStamp = Date.parse(new Date()); // 获取当前毫秒时间戳
console.log("当前时间戳:",currentTimeStamp);
时间戳转为北京时间
如下,通过时间戳转换为北京时间,格式为YYYY-MM-DD HH:mm:ss
,可以根据需要组成对应时间格式:
// 时间戳转北京时间
function getBeijingDate(timestamp) {
var date = new Date(timestamp);
var Y = date.getFullYear() + '-';
var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
var D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' ';
var h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
var m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':';
var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
return Y + M + D + h + m + s;
}
北京时间转时间戳
如下通过传入格式化时间(北京时间)实现转换为时间戳,这里的时间戳单位为毫秒(ms)
:
// 时间格式转时间戳
function timestamp(time) {
return Date.parse(new Date(time).toString());
}