时间格式化
整理优化时间类发现之前发现大部分这样写的,获取当前日期,再一个个取年,月,日,再拼接成自己想要得格式
let curDate = new Date()
let yyyy = curDate.getFullYear()
let mm = curDate.getMonth()+1
mm = mm<10 ? ("0"+mm) :mm
let dd = curDate.getDate()
dd = dd<10?("0"+dd) : dd
let lastDate = `${yyyy}${mm}${dd}`
这种直接绑定在Date原型上得方法更便捷
let now = new Date().Format('yyyyMMdd')
Date.prototype.Format = function (fmt) {
if (fmt == undefined || fmt == null || fmt == "")
return "";
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"h+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var 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;
};
之前获取昨天,前天或者明天后天得时间大部分是用10006060*24 来计算得,现在也可以用下面得方法
//获取当前日期的某一天日期(负数为过去的时间,正数为后面的时间) 格式:20240123
//例:当前日期为"2024-01-22",getYesterday(-1)为2024-01-21, getYesterday(1)为2024-01-23,
function getYesterday(num) {
let day = new Date();
day.setDate(day.getDate() + num);
let day2 = day.Format("yyyy-MM-dd")
console.log(day2);
return day2.replace(/-/g, '')
}
getYesterday(1)
标签:格式化,fmt,new,获取,let,RegExp,Date,时间
From: https://www.cnblogs.com/wszzj/p/17981606