美文网首页
编程大白话之-uni-app中计时器的封装

编程大白话之-uni-app中计时器的封装

作者: Han涛_ | 来源:发表于2019-12-31 10:13 被阅读0次

最近学习了uni-app并进行了一个小程序的开发,在过程中有一些小方法的封装,之后呢会分类的给大家进行分享,有帮助的朋友可以拿去使用,有不足的地方也希望能够指出,我及时的去改正。

在平时的项目中最常见和使用的是定时器,在活动、促销、倒计时等都是常用到的,网上的方法也是一搜一大把的,而计时器的使用并不是太多,那今天给大家来分享一个uni-app中微信小程序计时器的方法:

1.gif
图中例子可以看出我是为了纪念某个特殊的日子,用来计时的!
话不多说上码
<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 时间中的-,可以将时间格式改为/,就可以解决!

相关文章

网友评论

      本文标题:编程大白话之-uni-app中计时器的封装

      本文链接:https://www.haomeiwen.com/subject/xccboctx.html