最近学习了uni-app并进行了一个小程序的开发,在过程中有一些小方法的封装,之后呢会分类的给大家进行分享,有帮助的朋友可以拿去使用,有不足的地方也希望能够指出,我及时的去改正。
在平时的项目中最常见和使用的是定时器,在活动、促销、倒计时等都是常用到的,网上的方法也是一搜一大把的,而计时器的使用并不是太多,那今天给大家来分享一个uni-app中微信小程序计时器的方法:
图中例子可以看出我是为了纪念某个特殊的日子,用来计时的!
话不多说上码
<view class="times">
<text>{{timeDay}}天</text>
<text>{{timeHour}}小时</text>
<text>{{timeMinute}}分钟</text>
<text>{{timeSecond}}秒</text>
</view>
data() {
return {
strtime: 0,
timeDay: 0,
timeHour: 0,
timeMinute: 0,
timeSecond: 0,
}
}
onLoad() {
this.strtime = '2013-05-20 00:00:00:000';
this.dateProceed();
},
dateProceed() {
let _this = this;
setInterval(function() {
var nowTime = (Date.parse(new Date())) / 1000;
// var date = new Date(strtime); //传入一个时间格式,如果不传入就是获取现在的时间了,这样做不兼容火狐。
// 可以这样做
var date = new Date(_this.strtime.replace(/-/g, '/'));
var time3 = (Date.parse(date)) / 1000;
var time4 = nowTime - time3;
var timeDay = Math.floor(time4 / 60 / 60 / 24);
var timeHour = Math.floor(time4 / 60 / 60) - timeDay * 24;
var timeMinute = Math.floor(time4 / 60) - timeDay * 24 * 60 - timeHour * 60;
var timeSecond = Math.floor(time4) - timeDay * 24 * 60 * 60 - timeHour * 60 * 60 - timeMinute * 60;
_this.timeDay = timeDay; // 天
_this.timeHour = timeHour; // 小时
_this.timeMinute = timeMinute; // 分钟
_this.timeSecond = timeSecond; // 秒
}, 1000);
}
提示一下,如果在ios系统中,没有办法识别返回null时,是因为没有办法识别2013-05-20 时间中的-,可以将时间格式改为/,就可以解决!
网友评论