之前做项目的时候遇到过一个日期转化的问题,一个日期控件和近一天,近七天和近一月的的联动效果。发现自己不会,后来就百度了一下解决了这个问题
现在抽空又写了一个时间转化的案例(计算一周的日期),因为之前面试遇到过所以现在就顺手拿出来练练,并且封装了时间格式转化的方法。
```
const DAYS = 7 ;
var weeks = ''
for (var i = 0; i < DAYS; i++) {
var day = (new Date()).getTime() - 1000*3600*24*i
weeks = weeks+'<span>'+(new Date(day)).Format('yyyy-MM-dd')+'</span><br/>'
}
document.getElementById('weeks').innerHTML = weeks
//格式化时间
Date.prototype.Format = function (fmt) {
if(/(y+)/.test(fmt)){
fmt = fmt.replace(RegExp.$1,this.getFullYear()+'').substr(4-RegExp.$1.length);
}
var o = {
'M+' : this.getMonth()+1,
'd+' : this.getDate() ,
'h+' : this.getHours(),
's+' : this.getSeconds()
}
for (var k in o) {
if(new RegExp(`(${k})`).test(fmt)){
var str = o[k]+'' ;
fmt = fmt.replace(RegExp.$1,RegExp.$1.length ==1?str:('00'+str).substr(str.length))
}
}
return fmt;
}
```