时间按钮
相信大家都有遇到过时间按钮
前面笔者也写了一篇时间按钮文章【记录7】,下面笔者说下通过时间戳来解决
时间戳解决
首先需要我们将当前时间转为时间戳Date.parse(getTime())
,getTime()
为获取当前时间的方法,如何获取当前时间相信大家都会,这里就不多说了,Date.parse()
是将标准的日期时间转为时间戳。
getMyDate(str)
方法是将时间戳转为日期时间格式,格式可以自己定,getZero(num)
是对位数不全的进行前面补0。
这里先说下不同的日期对应的时间戳:一天的时间戳为3600(精确到秒),下面小编写的是(精确到毫秒的,毫秒时间戳除1000就精确到秒啦)
- 一天:86400000 = 3600000 * 24
- 一小时:3600000
- 一周:86400000 * 7 = 604800000
- 一月:86400000 * 30 = 2592000000
- 一年:31104000000
代码:如下
weeksHandler(){ //近一周
var time2 = Date.parse(getTime()); //将获取的当前日期时间转为时间戳
let a = parseInt(time2) - (86400000 * 7) //
console.log(a);
let b = this.getMyDate(a)
console.log(b);
this.$confirm(getTime()+'近一周'+b)
},
getMyDate(str){ //拼接
var date = new Date(str),
oYear = date.getFullYear(), //年
oMonth = date.getMonth()+1, //月
oDay = date.getDate(), //日
h = date.getHours(),//小时
m = date.getMinutes(),//分钟
s = date.getSeconds();//秒数
// 以自己需要的方式拼接
var oTime = oYear +'/'+ this.getZero(oMonth) +'/' + this.getZero(oDay)+' ' + this.getZero(h) + ':' + this.getZero(m)+ ':' + this.getZero(s);//最后拼接时间
return oTime;
},
getZero(num){ //补0
// 单数前面加0
if(parseInt(num) < 10){
num = '0'+num;
}
return num;
},
总结
笔者觉得通过时间戳来实现会更好,比【记录7】更好用,更简单,代码量也少。大家可以对方法进行封装成JS文件,每次使用直接引入使用即可。