1、中国标准时间=>yyyy-MM-dd hh:mm:ss:
/**
* 时间格式化
* @param value
* @param fmt
* @returns {*}
*/
export function formatDate(value, fmt) {
console.log(value, fmt)
//如果是数字
let getDate = new Date(value);
let o = {
'M+': getDate.getMonth() + 1,
'd+': getDate.getDate(),
'h+': getDate.getHours(),
'm+': getDate.getMinutes(),
's+': getDate.getSeconds(),
'q+': Math.floor((getDate.getMonth() + 3) / 3),
'S': getDate.getMilliseconds()
};
if (/(y+)/.test(fmt)) {
fmt = fmt.replace(RegExp.$1, (getDate.getFullYear() + '').substr(4 - RegExp.$1.length))
}
for (let k in o) {
if (new RegExp('(' + k + ')').test(fmt)) {
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)))
}
}
return fmt;
}
// 调用
formatDate(需要格式化的时间,'yyyy-MM-dd hh:mm:ss')
formatDate(需要格式化的时间,'yyyy-MM-dd')
formatDate(需要格式化的时间, 'hh:mm:ss')
2、yyyy-mm-dd=>中国标准时间:
let date=new Date('2022-08-01')
console.log(date) //Mon Aug 01 2022 08:00:00 GMT+0800 (中国标准时间)
3.js获取当前时间的前一个小时,前一天/后一天,周一/周日,1号/最后一天:
当前时间
let currentDate = new Date();//当前时间
前一个小时
let beforeOneHour=new Date(new Date().getTime() - 1 * 60 * 60 * 1000);
前一天/后一天
let preDate = new Date( new Date().getTime() - 24*60*60*1000); //前一天 =>前几天24*60*60*1000在乘以几即可
let nextDate = new Date( new Date().getTime() + 24*60*60*1000); //后一天 ,此时为中国标准时间
获取
当前月的第一天和最后一天
//获取该月的第1天
let MonthFirstDay=new Date(new Date().getFullYear(), new Date().getMonth(), 1)
//使用new Date(year,month,0)的方式,可以获取该月的最后一天
let MonthLastDay=new Date(new Date().getFullYear(), new Date().getMonth() + 1, 0)
获取当前日期
周一和周日
//获取当前日期周一和周日
let WeekFirstDay = this.getWeekDay('start')
let WeekLastDay = this.getWeekDay('end')
getWeekDay(type) {
var date = new Date();
var day = date.getDay() || 7;
if (type == 'start') {
return new Date(date.getFullYear(), date.getMonth(), date.getDate() + 1 - day, date.getHours(), date.getMinutes(), date.getSeconds());
} else {
return new Date(date.getFullYear(), date.getMonth(), date.getDate() + 7 - day, date.getHours(), date.getMinutes(), date.getSeconds());
}
},