由于最近使用时间的方法比较多 写篇随笔记录总结下(2022-01-17)
时间格式化方法
const zero = function(value){
if(Number(value) < 10){
return "0" + value;
}
else{
return value;
}
}
const formatDate = (time)=>{
let date = time ? new Date(time) : new Date();//time可以加层验证
let wl = ["日", "一", "二", "三", "四", "五", "六"];
let y = date.getFullYear();
let m = zero(date.getMonth()+1);
let d = zero(date.getDate());
let w = date.getDay();
let hh = zero(date.getHours());
let mm = zero(date.getMinutes());
let ss = zero(date.getSeconds());
return {
year: y,
month: m,
day: d,
week: w,
weekName: wl[w],
hours: hh,
minutes: mm,
seconds: ss,
}
}
获取本日周月季年--开始和结束时间
const getDate = (type)=>{
let dateObject = formatDate();
let arr = new Array();
switch(type){
//获取当天开始结束时间
case 0:
arr = [
`${dateObject.year}-${dateObject.month}-${dateObject.day} 00:00:00`,
`${dateObject.year}-${dateObject.month}-${dateObject.day} 23:59:59`,
];
break;
//获取本周开始结束时间
case 1:
let num = dateObject.week ? dateObject.week : 7;
let st = formatDate(new Date().getTime() - (num-1) * 86400000);
let et = formatDate(new Date().getTime() + (7-num) * 86400000);
arr = [
`${st.year}-${st.month}-${st.day} 00:00:00`,
`${et.year}-${et.month}-${et.day} 23:59:59`,
];
break;
//获取本月开始结束时间
case 2:
let monthDay = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];//枚举12个月天数
let isLeapYear = (()=>{
if((dateObject.year%4 == 0 && dateObject.year%100 != 0) || (dateObject.year%400 == 0)) monthDay[1] = 29;
})()
arr = [
`${dateObject.year}-${dateObject.month}-01 00:00:00`,
`${dateObject.year}-${dateObject.month}-${monthDay[dateObject.month-1]} 23:59:59`
];
break;
//获取本季开始结束时间
case 3:
let quarter = Math.floor(dateObject.month%3 == 0 ? dateObject.month/3 : dateObject.month/3+1);
if(quarter == 1){
arr = [
`${time.year}-01-01 00:00:00`,
`${time.year}-03-31 23:59:59`
]
}
else if(quarter == 2){
arr = [
`${time.year}-04-01 00:00:00`,
`${time.year}-06-30 23:59:59`
]
}
else if(quarter == 3){
arr = [
`${time.year}-07-01 00:00:00`,
`${time.year}-09-30 23:59:59`
]
}
else if(quarter == 4){
arr = [
`${time.year}-10-01 00:00:00`,
`${time.year}-12-31 23:59:59`
]
}
break;
//获取年开始结束时间
case 4:
arr = [
`${dateObject.year}-01-01 00:00:00`,
`${dateObject.year}-12-31 23:59:59`,
];
break;
}
return arr;
}