注 new Date() 获取到的是客户端时间 所以实时时间还是要从服务端获取
建议疯转方法 便随时调用
let date = new Date()
JS 获取当前时间
console.log(date)
JS 获取当前13位时间戳
console.log(date)
JS 获取当前10位时间戳
console.log(Math.round(date / 1000))
JS 获取当前年份
console.log(date.getFullYear())
JS 获取当前月份
console.log(date.getMonth()+1)
注:月份开始是从0开始的所以需要在获取时+1
JS获取当前天数
console.log(date.getDay())
JS获取当前月份的最后一天
console.log(date.getFullYear() + '-' + (date.getMonth()+1) + '-' +date(date.getFullYear(),date.getMonth()+1,0).getDate() + ' ' + '23:59:59')
JS 获取当前月份的第一天
console.log(date.getFullYear() + '-' + date.getMonth() + '-' + '01')
JS获取当前时间前一天
console.log(date.getFullYear() + '-' + date.getMonth() + '-' + date.getDay()-1)
JS获取当前时间后一天
console.log(date.getFullYear() + '-' + date.getMonth() + '-' + date.getDay()+1)
const timedate = () => {
let time = new Date();
let times = +new Date();
let oldTime = +new Date('2022.01.01 00:00:00')
let NewTime = Math.round((times - oldTime) / 1000)
let leave = Math.floor(NewTime / (24 * 3600))
// let leaveHours = Math.floor(leave/(3600))
window.console.log(leave)
state.Totime = time.toLocaleString();
// state.time = time.getFullYear() + '.' + (time.getMonth() + 1) + '.' +
time.getDay() + ' ' + time.getHours() + ':' + time.getMinutes() + ':' +
time.getSeconds()
var date1 = (time.getFullYear()) + '.01.01 00:00:00'; //开始时间
var date2 = new Date(); //结束时间
var date3 = new Date(date1).getTime() - date2.getTime(); //时间差的毫秒数
//计算出相差天数
var days = String(Math.floor(date3 / (24 * 3600 * 1000))).substring(1)
//计算出小时数
var leave1 = date3 % (24 * 3600 * 1000) //计算天数后剩余的毫秒数
var hours = String(Math.floor(leave1 / (3600 * 1000))+1).substring(1)
//计算相差分钟数
var leave2 = leave1 % (3600 * 1000) //计算小时数后剩余的毫秒数
var minutes =String( Math.floor(leave2 / (60 * 1000))+1).substring(1)
//计算相差秒数
var leave3 = leave2 % (60 * 1000) //计算分钟数后剩余的毫秒数
var seconds = String(Math.round(leave3 / 1000)+1).substring(1)
state.time = days + '天' + hours + '小时' + minutes + '分钟' + seconds + '秒'
setTimeout(() => {
timedate()
}, 1000);
}
方法封装
/**
* @params js获取服务器时间 非本地时间
*/
export function showDate() {
return new Promise((resolve, reject) => {
var xhr: any = new XMLHttpRequest();
let url = ""
xhr.open("GET", url, true);
// xhr.setRequestHeader('Accept', 'application/headers');
// 发送请求
xhr.send();
// 监听请求完成事件
xhr.onload = function () {
// 检查响应状态码
if (xhr.status === 200) {
resolve(Number(new Date(xhr.responseXML.lastModified)))
} else {
console.error('请求失败:', xhr.status);
}
};
})
}