小程序上如何计算倒计时截止时间

该代码段展示了如何使用JavaScript计算并动态显示从特定截止时间的倒计时。它首先定义了结束时间,然后获取当前时间,计算剩余秒数,并按小时、分钟和秒拆分。通过设置定时器每秒更新剩余时间,并在页面卸载时清除定时器,确保资源有效管理。
摘要由CSDN通过智能技术生成

计算倒计时截止时间

    countdown: function () {
        var that = this;
        var endtime = new Date('2023-04-18 23:00:00'); // 需要倒计时的结束时间 
        var now = new Date();
        var leftTime = parseInt((endtime.getTime() - now.getTime()) / 1000);
        var hours = parseInt(leftTime / 3600 % 24);
        var minutes = parseInt(leftTime / 60 % 60);
        var seconds = leftTime - hours * 3600 - minutes * 60;
        if(leftTime>0){
            that.setData({ hours: hours, minutes: minutes ,seconds:seconds  })
        }
    },

动态展示加个定时器

Page({  data: {    timer: 60  },  onLoad: function () {    this.timer = setInterval(() => {      if (this.data.timer > 0) {        this.setData({          timer: this.data.timer - 1        })      } else {        clearInterval(this.timer)      }    }, 1000)  }})

清除定时器在生命周期函数
/**
* 生命周期函数–监听页面卸载
*/
onUnload() {
console.log(“我离开了页面onUnload()触发”)

},

触发

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
实现订单倒计时功能可以使用小程序的定时器功能,具体实现步骤如下: 1. 在订单详情页面,获取订单创建时间和订单过期时间。 2. 计算当前时间与订单过期时间时间差,并将时间差转换为倒计时显示格式(例如:00:00:00)。 3. 使用小程序的定时器功能,每隔一秒更新倒计时显示。 4. 当倒计时结束,即订单过期时间到达时,提示用户订单已过期。 以下是示例代码: ``` // 获取订单创建时间和订单过期时间 const createTime = new Date(order.create_time); const expiredTime = new Date(createTime.getTime() + order.expires_in * 1000); // 计算倒计时时间差 let diffTime = Math.ceil((expiredTime.getTime() - Date.now()) / 1000); let hour = Math.floor(diffTime / 3600); let minute = Math.floor((diffTime - hour * 3600) / 60); let second = diffTime - hour * 3600 - minute * 60; let countDown = `${hour < 10 ? '0' + hour : hour}:${minute < 10 ? '0' + minute : minute}:${second < 10 ? '0' + second : second}`; // 更新倒计时显示 this.setData({ countDown: countDown }); this.timer = setInterval(() => { diffTime--; hour = Math.floor(diffTime / 3600); minute = Math.floor((diffTime - hour * 3600) / 60); second = diffTime - hour * 3600 - minute * 60; countDown = `${hour < 10 ? '0' + hour : hour}:${minute < 10 ? '0' + minute : minute}:${second < 10 ? '0' + second : second}`; this.setData({ countDown: countDown }); if (diffTime <= 0) { clearInterval(this.timer); wx.showToast({ title: '订单已过期', icon: 'none' }) } }, 1000); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端朱先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值