获取网站运行时间的两种方法
1.小同志,加个时间吧
看到别人的博客,都有运行了多少天多少天的那种元素。
别的小朋友都有,我们也总要有吧,我们还要弄成能动的!!!说干就干,又不是啥难弄的东西。
如果其他大佬有更好的办法,请互相交流一下。
2.逻辑处理
- 获取建站日期
- 获取当前日期
- 二者相减
- 反复调用,刷新时间
2.1 方法一
所以我们首先在methods里创建一个方法
methods: {
getRunTime() {
let formatDateTime
//一天的长度
let perDay = 24 * 60 * 60 * 1000;
//建站日期
let createTime = new Date("08-15-2019");
//当前时间
let currentTime = new Date();
let duringTime = currentTime.getTime() - createTime.getTime();
//运行天数
let dayTime = Math.floor(duringTime / perDay);
let during =(duringTime / perDay-dayTime)* 24;
//运行小时
let hourTime = Math.floor(during)
//(hourTime-duringTime) * -60;
let during3=(hourTime-during)* -60;
//运行分钟
let minuteTime =Math.floor((hourTime-during) * -60)
//运行秒数
let secondTime=Math.floor((minuteTime-during3)* -60)
formatDateTime = dayTime + '天' + hourTime + '时' + minuteTime + '分 ' + secondTime + '秒'
return formatDateTime
}
然后我们在mounted时调用它:
mounted() {
this.formatDateTime = this.getRunTime()
let _this = this
this.timer =setInterval(function (){
_this.formatDateTime=_this.getRunTime()
},1000)
}
最后把它你喜欢的地方放上html,并加上样式,这里我先不加了
<div>{{ formatDateTime }}</div>
2.2方法二
在上一个方法里,我们没有使用年这个单位。直接使用的天的单位。可能有些同学不太满意。那么我们再介绍一种以年为单位的显示方法。
我们同样的在methods里创建一个getDuringTime的方法:
methods: {
getDuringTime() {
//建站日期
let createTime = new Date("07-10-2019");
//当前时间
let startYear = createTime.getFullYear(); //开始年份
let startMonth = createTime.getMonth() + 1;//开始月份
let startDay = createTime.getDate(); //开始日期
let startMiao = createTime.getTime();
let currentTime = new Date();
let endYear = currentTime.getFullYear(); //结束年份
let endMonth = currentTime.getMonth() + 1;//结束月份
let endDay = currentTime.getDate(); //结束日期
let endMiao = currentTime.getTime();
let years = 0;
let months = endMonth - startMonth + (endYear - startYear) * 12;//总月
if (endMonth * 100 + endDay < startMonth * 100 + startDay) {
months--;//如果结束日期<输入日期,月数要-1
}
years = Math.floor(months / 12);//取整计算年数
//console.log(years+"年份")
months = months % 12;//取余计算月数
//console.log(months+"月份")
let middleDate = new Date(createTime);//中间时间
//console.log(middleDate+"这是个是撒")
middleDate.setFullYear(startYear + years);//设置中间时间年份
middleDate.setMonth(currentTime.getMonth() + months);//设置中间时间月份
let days = -Math.floor((endMiao - middleDate.getTime()) / 24 / 60 / 60 / 1000);//计算天数
let chaTime = endMiao - startMiao;
//计算出小时数
let yu = chaTime % (24 * 3600 * 1000);//86400000
let hour = Math.floor(yu / (3600 * 1000));//3600000
//计算相差分钟数
let yuH = chaTime % (3600 * 1000);
let min = Math.floor(yuH / (60 * 1000));//60000
//计算相差秒数
let yuM = chaTime % (60 * 1000);
let sec = Math.floor(yuM / 1000);//1000
let chastr = '本网站运行时长: ' + years + '年' + months + '个月' + days + '天 ' + hour + '个小时' + min + '分' + sec + '秒';
return chastr;
},
}
同样的在mounted时调用该方法。我们就可以得到以年为单位的格式啦。看效果
3.效果
第一种效果:
第二种效果:
版权属于: 依依东望