JS时间戳转换方式示例详解
概述
时间戳(timestamp)是指为表示某一事件发生的时间而定义的一种以秒单位或者毫秒单位的数字。JS中常用的时间戳是指unix时间戳,即从1970年1月1日开始所经过的秒数。由于时间戳的数字比较难懂,因此我们需要进行转换后才能更好地使用。
本文将详细讲解JS中时间戳的转换方式,包括时间戳转日期、日期转时间戳、获取当前时间戳等。
时间戳转日期
将时间戳转为日期一般有两种方式,分别为使用Date对象和使用moment.js库。
使用Date对象
function timestampToDate(timestamp) {
var date = new Date(timestamp * 1000); // 时间戳是秒级,需乘以1000转为毫秒级
var year = date.getFullYear();
var month = date.getMonth() + 1; // 月份从0开始,因此需加1
var day = date.getDate();
var hour = date.getHours();
var minute = date.getMinutes();
var second = date.getSeconds();
var result = year + "年" + month + "月" + day + "日 " + hour + ":" + minute + ":" + second;
return result;
}
console.log(timestampToDate(1621314726));
// 输出:2021年5月18日 16:45:26
使用moment.js库
moment.js是一个流行的时间处理库,可以帮助我们更容易地处理时间以及转换时间格式。
function timestampToDate(timestamp) {
var result = moment.unix(timestamp).format("YYYY年MM月DD日 HH:mm:ss");
return result;
}
console.log(timestampToDate(1621314726));
// 输出:2021年5月18日 16:45:26
日期转时间戳
将日期转为时间戳同样有两种方式,分别为使用Date对象和使用moment.js库。
使用Date对象
function dateToTimestamp(dateStr) {
var timestamp = new Date(dateStr).getTime() / 1000; // getTime方法返回的是毫秒级,需除以1000转为秒级
return timestamp;
}
console.log(dateToTimestamp("2021年5月18日 16:45:26"));
// 输出:1621314726
使用moment.js库
function dateToTimestamp(dateStr) {
var timestamp = moment(dateStr, "YYYY年MM月DD日 HH:mm:ss").unix();
return timestamp;
}
console.log(dateToTimestamp("2021年5月18日 16:45:26"));
// 输出:1621314726
获取当前时间戳
获取当前时间戳有两种方式,分别为使用Date对象和使用moment.js库。
使用Date对象
function getCurrentTimestamp() {
var timestamp = Math.floor(new Date().getTime()/1000);
return timestamp;
}
console.log(getCurrentTimestamp());
// 输出:1624567890
使用moment.js库
function getCurrentTimestamp() {
var timestamp = moment().unix();
return timestamp;
}
console.log(getCurrentTimestamp());
// 输出:1624567890
示例说明
示例1
题目要求我们将一个时间戳转为日期格式。假设我们已知一个时间戳1621314726
,我们可以在控制台中运行以下代码:
console.log(timestampToDate(1621314726));
结果输出2021年5月18日 16:45:26
,符合要求。
示例2
题目要求我们将一个日期格式转为时间戳。假设我们已知一个日期2021年5月18日 16:45:26
,我们可以在控制台中运行以下代码:
console.log(dateToTimestamp("2021年5月18日 16:45:26"));
结果输出1621314726
,符合要求。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS时间戳转换方式示例详解 - Python技术站