将时间戳转化为 yyyy-mm-dd hh:mm:ss
function backTime(value){
// value必须是一个毫秒级的时间戳哈;
// 如果出现的不是一个毫秒级的时间戳,将会出现转化为 1970开始
let date = new Date(value);
// 获取年份、月份和日期
let year = date.getFullYear();
// 月份从 0 开始,需要加 1
let month = date.getMonth() + 1;
let day = date.getDate();
let hours = date.getHours();
let minutes = date.getMinutes();
let seconds = date.getSeconds();
// 格式化月份和日期为两位数(不足两位时补零)
month = month < 10 ? '0' + month : month;
day = day < 10 ? '0' + day : day;
hours = hours < 10 ? '0' + hours : hours;
minutes = minutes < 10 ? '0' + minutes : minutes;
seconds = seconds < 10 ? '0' + seconds : seconds;
// 返回格式化后的字符串
return year + '-' + month + '-' + day +' ' + hours + ':' + minutes + ':' + seconds;
}
//再次提醒,转化必须是一个毫秒级的时间戳哈
console.log(backTime(1688385600000))
// 输出的值是: 2023-07-03 20:00:00
将 yyyy-mm-ss hh:mm:ss 转化为时间戳,使用new date()
第一种
// 获取2022年1月1日13时23分45秒的时间戳
// 需要注意参数第2位,表示的是月份,从0-11;0表示的是1月份
// 参数分别是 年份、月份[0-11之间的数字0表示1月)]、日、时、分、毫秒
let dateTimeStamp = new Date(2022, 0, 1,13,23,45).getTime();
console.log(dateTimeStamp) // 1641014625000
第2种 [推荐] 传递一个正确的日期字符串,以/分割
let dateTimeStamp = new Date('2024/05/26 14:34:45').getTime();
console.log(dateTimeStamp) // 1716705285000
如果格式是 yyyy-mm-dd hh:mm:ss格式,可以使用replace()方法替换掉-
// 全局替换掉-
let strDate = '2024-02-26 12:45:15'.replace(/-/g,'/')
let dateTimeStamp = new Date(strDate).getTime();
console.log(dateTimeStamp) // 1708922715000
为啥要全局替换掉-呢?
// iso 不一定可以正确解析以 - 分割的日期格式,最好使用 /
标签:mm,dd,month,yyyy,seconds,let,date,day
From: https://www.cnblogs.com/IwishIcould/p/18213555