日期,时间相关处理
实现同步当前日期、时间、星期
setInterval(()=>{
let date =new Date()
let newdate = date.toLocaleString('chinese', { hour12: false, year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', second: '2-digit' })
this.time =newdate.split(' ')[1]
},800)
let date =new Date()
let newdate = date.toLocaleString('chinese', { hour12: false, year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', second: '2-digit' })
this.ymd =newdate.split(' ')[0].replaceAll('/','-')
var day = date.getDay();
var arr = [ "星期日","星期一","星期二","星期三","星期四","星期五","星期六",];
this.week =arr[day]
时间计算
let startTime = new Date('2015-12-20');
let endTime = new Date();
let usedTime = endTime - startTime;
let days = Math.floor(usedTime / (24 * 3600 * 1000));
let leavel = usedTime % (24 * 3600 * 1000);
let hours = Math.floor(leavel / (3600 * 1000));
let leavel2 = leavel % (3600 * 1000);
let minutes = Math.floor(leavel2 / (60 * 1000));
console.log(endTime - startTime);
console.log(Math.floor((endTime - startTime) / 1000));
console.log(Math.floor((endTime - startTime) / 1000 / 60));
console.log(Math.floor((endTime - startTime) / 1000 / 60 / 60));
console.log(Math.floor((endTime - startTime) / 1000 / 60 / 60 / 24));
时间变成时间戳
new Date('2019-08-08 16:51:07').getTime()
获取当前日期
new Date().toLocaleDateString().replace(/\//g,'-')
new Date().toISOString().slice(0, 10)
获取昨天的日期或明天的日期
new Date(new Date().valueOf() - 1000 * 60 * 60 * 48).toISOString().slice(0, 10)
new Date(new Date().valueOf() + 1000 * 60 * 60 * 48).toISOString().slice(0, 10)
获取月份是属于那个季度
Math.ceil((new Date('2022-12-06').getMonth() + 1) / 3
获取月的第一天日期或最后一天
(new Date(new Date('2022-11-06').getFullYear(), new Date('2022-11-06').getMonth(), 1)).toLocaleDateString().replace(
new Date(new Date().getFullYear(), new Date().getMonth() + 1, 0).toLocaleDateString().replace(
获取日期是属于几月
console.log(['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', ' November', 'December'][new Date('2022-11-06').getMonth()])
获取月份有多少天
new Date(2022, 2, 0).getDate()
计算年有多少天
//366
(2020 % 4 === 0 && 2022 % 100 !== 0) || 2022 % 400 === 0 ? 366 : 365
比较两个日期
const compare = (a, b) => a.getTime() > b.getTime();
设置时间
new Date(new Date().setHours(13, 12, 0, 0))
将多少秒转成时分秒形式(hh:mm:ss)
const formatSeconds = (s) => new Date(s * 1000).toISOString().substr(11, 8);
const formatSeconds = (s) => new Date(s * 1000).toUTCString().match(/(\d\d:\d\d:\d\d)/)[0];
const formatSeconds = (s) => [parseInt(s / 60 / 60), parseInt((s / 60) % 60), parseInt(s % 60)].join(':').replace(/\b(\d)\b/g, '0$1');