赞
踩
方法获取格式化时间函数
formatDate (fmt) { const date = new Date() const o = { 'Y+': date.getFullYear(), 'M+': date.getMonth() + 1, // 月 'D+': date.getDate(), // 日 'h+': date.getHours(), // 时 'm+': date.getMinutes(), // 分 's+': date.getSeconds(), // 秒 W: date.getDay() // 周 } for (let k in o) { if (new RegExp('(' + k + ')').test(fmt)) { fmt = fmt.replace(RegExp.$1, () => { if (k === 'W') { // 星期几 const week = ['日', '一', '二', '三', '四', '五', '六'] return week[o[k]] } else if (k === 'Y+' || RegExp.$1.length === 1) { // 年份 or 小于10不加0 return o[k] } else { return ('00' + o[k]).substr(('' + o[k]).length) // 小于10补位0 } }) } } return fmt }
使用:
formatDate('YY') // 2022
formatDate('YY-MM') // 2022-06
formatDate('YY-MM-DD') // 2022-06-02
formatDate('YY-MM-DD hh:mm:ss') // 2022-06-02 10:02:23
formatDate('星期W') // 星期四
扩展:
1.得到当前(年月日)
getNowMonths() {
let timeOne = new Date();
let year = timeOne.getFullYear();
let month = timeOne.getMonth() + 1;
let day = timeOne.getDate();
month = month < 10 ? "0" + month : month;
day = day < 10 ? "0" + day : day;
const NOW_MONTHS_AGO = `${year}-${month}-${day}`;
return NOW_MONTHS_AGO;
}
2.得到三个月前的(年月日)
getThreeMonths() { let timeOne = new Date(); let year = timeOne.getFullYear(); let month = timeOne.getMonth() + 1; let day = timeOne.getDate(); // 计算3个月后的月份 let ThreeMonths = month - 3; // 如果小于 0 说明是去年 if (ThreeMonths <= 0) { year = year - 1; } // 如果 等于 -2 说明当前月是 1 月份 所以三个月前是去年 10月 if (ThreeMonths === -2) { ThreeMonths = 10; } // 如果 等于 -1 说明当前月是 2 月份 所以三个月前是去年 11月 if (ThreeMonths === -1) { ThreeMonths = 11; } // 如果 等于 0 说明当前月是 3 月份 所以三个月前是去年 12月 if (ThreeMonths === 0) { ThreeMonths = 12; } ThreeMonths = ThreeMonths < 10 ? "0" + ThreeMonths : ThreeMonths; // 获取当前的时间的日期字符串 // **如果天数的值为零,则默认返回当前月份的最后一天 let timeTow = new Date(year, ThreeMonths, 0); // 获取三个月前的最后一天 let ThreeMonthsDay = timeTow.getDate(); // 判断如果当前月份的天数大于三个月前的天数时,则当前天数等于三个月前的天数 if (day > ThreeMonthsDay) { day = ThreeMonthsDay; } day = day < 10 ? "0" + day : day; // 格式化时间 // const THREE_MONTHS_AGO = `${year}/${ThreeMonths}/${day}` // 生成时间戳 需要的话做 //const THREE_STAMP = new Date(THREE_MONTHS_AGO).getTime() const THREE_STAMP = `${year}-${ThreeMonths}-${day}`; return THREE_STAMP; },
function getDate(type = null, number = 0) { var nowdate = new Date(); switch (type) { case "day": //取number天前、后的时间 nowdate.setTime(nowdate.getTime() + 24 * 3600 * 1000 * number); var y = nowdate.getFullYear(); var m = nowdate.getMonth() + 1; var d = nowdate.getDate(); var retrundate = `${y}-${m}-${d}`; break; case "week": //取number周前、后的时间 var weekdate = new Date(nowdate + 7 * 24 * 3600 * 1000 * number); var y = weekdate.getFullYear(); var m = weekdate.getMonth() + 1; var d = weekdate.getDate(); var retrundate = `${y}-${m}-${d}`; break; case "month": //取number月前、后的时间 nowdate.setMonth(nowdate.getMonth() + number); var y = nowdate.getFullYear(); var m = nowdate.getMonth() + 1; var d = nowdate.getDate(); var retrundate = `${y}-${m}-${d}`; break; case "year": //取number年前、后的时间 nowdate.setFullYear(nowdate.getFullYear() + number); var y = nowdate.getFullYear(); var m = nowdate.getMonth() + 1; var d = nowdate.getDate(); var retrundate = `${y}-${m}-${d}`; break; default: //取当前时间 var y = nowdate.getFullYear(); var m = nowdate.getMonth() + 1; var d = nowdate.getDate(); var retrundate = `${y}-${m}-${d}`; } return retrundate; }
测试
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。