export function dateFormat(fmt, date) {
let ret
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 (let k in opt) {
ret = new RegExp('(' + k + ')').exec(fmt)
if (ret) {
fmt = fmt.replace(ret[1], ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0'))
}
}
return fmt
}
// 用法
// let date = new Date()
// dateFormat("YYYY-mm-dd HH:MM", date)
// >>> 2019-06-06 19:45`
// 1626772706000 ---> Tue Jul 20 2021 17:18:26 GMT+0800 (中国标准时间)
function timestampToDate(time) {
var d = new Date()
d.setTime(time)
return d
}
// 1626772706000 ---> Tue Jul 20 2021 17:18:26 GMT+0800 (中国标准时间)--->"2021-07-20 17:18"
export function timestampFormatDate(timestamp, fmt) {
const date = timestampToDate(timestamp)
const formatData = dateFormat(fmt, date)
return formatData
}
js根据当前时区获取当前北京时间
思路:获取当前UTC时间,然后根据UCT时间计算北京时间
new Date(new Date().getTime()+(parseInt(new Date().getTimezoneOffset()/60) + 8)*3600*1000);
}
//Fri May 20 2022 10:24:59 GMT+0800 (中国标准时间)
//获取时间戳 1653013480061
new Date(new Date().getTime()+(parseInt(new Date().getTimezoneOffset()/60) + 8)*3600*1000).getTime()