1、将 时间戳 转为 任意日期格式
let nowTime = Date.now() //获取当前日期时间戳
console.log(nowTime); //1655106174167
const formatTime = (format = "", num = new Date().getTime()) => {
format = format || "YYYY-mm-dd HH:MM:SS"; //第一个参数不填时,使用默认格式
let ret, date, renum;
// 处理时间戳,js一般获取的时间戳是13位,PHP一般是10位,根据实际情况做判断处理
if (num.toString().length == 10) {
date = new Date(parseInt(num) * 1000);
} else {
date = new Date(parseInt(num));
}
const opt = {
"Y": date.getFullYear().toString(), // 年
"m": (date.getMonth() + 1).toString(), // 月
"d": date.getDate().toString(), // 日
"H": date.getHours().toString(), // 时
"M": date.getMinutes().toString(), // 分
"S": date.getSeconds().toString() // 秒
// 目前用的是这六种符号,有其他格式化字符需求可以继续添加,值必须转化成字符串
};
for (var k in opt) {
ret = new RegExp("(" + k + "+)").exec(format);
if (ret) {
renum = (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")) //根据复数前面是否补零,如“mm”补零,单“m”前面不补零
format = format.replace(ret[1], renum) //替换
};
};
return format;
};
console.log(formatTime("YYYY年mm月dd日 HH时MM分SS秒", nowTime)); // 2022年06月13日 15时42分54秒
console.log(formatTime("YY/m/d HH时MM分SS秒", nowTime)); // 2022/6/13 15时42分54秒
console.log(formatTime("H:MM:SS", nowTime)); // 15:42:54
console.log(formatTime("H小时M分钟S秒啊!", nowTime)); // 15小时42分钟54秒啊!
console.log(formatTime("HH时MM分SS秒-YYYY年mm月dd日", nowTime)); // 15时42分54秒-2022年06月13日
2、将 中国标准时间 转为 时间戳
let date = new Date("6/13/2021 15:46:30")
console.log(date); //Sun Jun 13 2021 15:46:30 GMT+0800 (中国标准时间)
console.log(date.getTime()); //1623570390000