• 24小时服务热线:400-088-1128

当前位置 南顺网络>> 知识拓展

微信小程序倒计时方法封装


onLoad: function(options) {

    //获取当前时间戳  

    var timestamp = Date.parse(new Date());

    timestamp = timestamp / 1000;

    console.log("当前时间戳为:" + timestamp);

 

    //获取当前时间  

    var n = timestamp * 1000;

    var date = new Date(n);

    //年  

    var Y = date.getFullYear();

    //月  

    var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1);

    //日  

    var D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();

    //时  

    var h = date.getHours();

    //分  

    var m = date.getMinutes();

    //秒  

    var s = date.getSeconds();

 

 

 

 

    //转换为时间格式字符串  

    console.log(date.toDateString());

 

    console.log(date.toGMTString());

 

    console.log(date.toISOString());

 

    console.log(date.toJSON());

 

    console.log(date.toLocaleDateString());

 

    console.log(date.toLocaleString());

 

    console.log(date.toLocaleTimeString());

 

    console.log(date.toString());

 

    console.log(date.toTimeString());

 

    console.log(date.toUTCString());  

    console.log("当前时间:" + Y + M + D + h + ":" + m + ":" + s);

  }

同时也可以这样


//timeStamp是时间戳  在这个场景下是距离订单自动关闭的时间差

getTime: function(timeStamp){

    var day = 0;

    var hours = 0;

    var minute = 0;

    var seconds = 0;

    day = Math.floor(timeStamp / 1000 / 60 / 60 / 24);//计算天数

    hours = Math.floor(timeStamp / 1000 / 60 / 60 % 24);

    minute = Math.floor(timeStamp / 1000 / 60 % 60);

    seconds = Math.floor(timeStamp / 1000 % 60);

   

    var h = this.toDouble(hours);

    var m = this.toDouble(minute);

    var s = this.toDouble(seconds);

    var rest_time={

      'day':day,

      'hours':h,

      'minutes':m,

      'seconds':s

    }

    this.setData({

      rest_time:rest_time

    });

  },

  toDouble:function(n){   //将时分秒转化成二位数格式

    return n < 10 ? "0" + n : n;

  },



然后在onLoad生命周期里写一个定时器,每隔一秒钟时间差减一并执行一次此方法:

onLoad: function (options) {

    var that=this;

    app.ajax(

      'order/orderDetail',

      'post',

      function(res){

        console.log(res);

        if(res.data.code==200){

          that.setData({

            orderInfo: res.data.data

          });

          // 倒计时

          var flag=setInterval(function(){

            var timeStamp = that.data.orderInfo.order_detail.rest_time;

            if (timeStamp*1000>0){

              timeStamp--;

              that.setData({

                'orderInfo.order_detail.rest_time':timeStamp

              });

              that.getTime(timeStamp*1000);

            }else{

              clearInterval(flag);

            }

          }, 1000)

        }

      },

      {

        order_id:options.id

      }

    );

  },



你你学会了吗?

原文链接:https://blog.csdn.net/qq_41241504/article/details/97800288