需求是读取插件的时段,时段是中国标准时间
由于以前就知道时间不能进行运算,所以刚开始时做的很复杂,先取得开始时间和结束时间,在开始时间的基础上进行操作后面的时间,逻辑非常复杂,需要考虑跨年跨月时对前后年月的影响,做到后面自己都晕菜了,然后就打算换一个思路,就去看了w3c的Date对象,查找了相关资料,发现几个有用的方法,很简单就完成了刚才很复杂的逻辑,逻辑是先获取时段的最大值最小值,这两个值是中国标准时间,转化为距今的毫秒数,再转化为数字,数字就可以操作了,是不是so easy
现在记录一下:
下面是js部分:
<script>
var maxTime=new Date(this.time[1]),//最大值,中国标准时间
minTime=new Date(this.time[0]),//最小值,中国标准时间
days=(maxTime-minTime)/(1000*60*60*24),//天数
weekFirstDate=new Date(minTime-(minTime.getDay())*86400000),//第一个周天
weekLastDate=new Date((maxTime-(maxTime.getDay())*86400000)+6*86400000),//最后一个周六
w1=parseFloat(Date.parse(minTime)),//第一天毫秒数字
w2=parseFloat(Date.parse(maxTime)),//最后一天毫秒数字
m1,getYear,getMon,getDate;
m1=new Date();
m1.setTime(w1);
getYear=m1.getFullYear();
getMon=m1.getMonth();
getDate=m1.getDate();
if(getMon<10){
getMon="0"+(getMon+1);
}else{
getMon=getMon+1;
}
if(getDate<10){
getDate="0"+getDate;
}
console.log('year:'+getYear+',month:'+getMon+',date:'+getDate);
w1=w1-7*(1000*60*60*24);
</script>
参考资料:http://www.w3school.com.cn/jsref/jsref_obj_date.asp
http://blog.csdn.net/cdx1170776994/article/details/78905072