在JavaScript中,时间是一个常用的数据类型,经常需要进行时间转换。例如,我们需要将日期时间转换为时间戳、将时间戳转换为日期时间、将日期时间转换为字符串等等。下面我们来一一介绍。
1. 将日期时间转换为时间戳
var timeStamp = new Date().getTime(); // 获取当前时间戳
通过new Date()获取当前日期时间对象,使用getTime()方法可以获取该日期时间对象的时间戳,即转换为毫秒数。
2. 将时间戳转换为日期时间
var timestamp = 1595109300000;
var date = new Date(timestamp);
console.log(date.toLocaleString()); // 输出2020/7/19 下午8:08:20
通过new Date(timestamp)获取指定时间戳的日期时间对象,使用toLocaleString()方法可以将日期时间对象转换为平常我们看到的形式。
3. 将日期时间转换为字符串
var date = new Date();
console.log(date.toLocaleDateString() + ' ' + date.getHours() + ':' + date.getMinutes() + ':' + date.getSeconds()); // 输出2021/12/31 23:59:59
使用toLocaleDateString()方法可以将日期时间对象转换为日期字符串,使用getHours()、getMinutes()、getSeconds()方法可以获取具体的时分秒,拼接得到完整的时间字符串。
4. 将字符串转换为日期时间
var dateStr = '2021-12-31 23:59:59';
var dateArr = dateStr.split(' ');
var ymdArr = dateArr[0].split('-');
var hmsArr = dateArr[1].split(':');
var date = new Date(+ymdArr[0], ymdArr[1] - 1, +ymdArr[2], +hmsArr[0], +hmsArr[1], +hmsArr[2]);
console.log(date.toLocaleString()); // 输出2021/12/31 下午11:59:59
我们可以使用split()方法将字符串分割为日期和时间,再分别将日期和时间按照年月日时分秒分割为数组。最后使用new Date(year, month, day, hour, minute, second)生成日期时间对象。
总之,JavaScript提供了丰富的日期时间转换方法,借助这些方法可以满足我们的一些常用需求。