自用的获取时间 传值是获取剩余时间 不传是获取当前时间

博客内容描述了一个自定义函数的使用,该函数能够灵活地获取当前时间或者计算剩余时间。若未传入参数,函数返回当前时间;传入参数则计算并返回指定时间的剩余时间。
摘要由CSDN通过智能技术生成
// pages/index1/index1.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
        time:''
    },
    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {

        // setInterval(() => {
            this.setData({
                time: this.time("May 18 2020 00:00:00")
            })
        // }, 1000)
        
    },

    // 计算时间
    time (endtime) {

        // 如果传过来截止时间
        if (endtime) {
            var today = new Date()//当前时间
            var h = today.getHours()
            var m = today.getMinutes()
            var s = today.getSeconds()
            var stopTime = new Date(endtime)//结束时间
            var stopH = stopTime.getHours()
            var stopM = stopTime.getMinutes()
            var stopS = stopTime.getSeconds()
            var shenyu = stopTime.getTime() - today.getTime()//倒计时毫秒数
            var shengyuD = parseInt(shenyu / (60 * 60 * 24 * 1000))
            var D = parseInt(shenyu) - parseInt(shengyuD * 60 * 60 * 24 * 1000)//除                去天的毫秒数
            var shengyuH = parseInt(D / (60 * 60 * 1000))
            var H = D - shengyuH * 60 * 60 * 1000//除去天、小时的毫秒数
            var shengyuM = parseInt(H / (60 * 1000))
            var M = H - shengyuM * 60 * 1000;//除去天、小时、分的毫秒数
            var S = parseInt((shenyu - shengyuD * 60 * 60 * 24 * 1000 - shengyuH *                      60 * 60 * 1000 - shengyuM * 60 * 1000) / 1000)

            // 格式化日期
            shengyuD = shengyuD.toString()[1] ? shengyuD : '0' + shengyuD
            shengyuH = shengyuH.toString()[1] ? shengyuH : '0' + shengyuH
            shengyuM = shengyuM.toString()[1] ? shengyuM : '0' + shengyuM
            S = S.toString()[1] ? S : '0' + S
            return {
                shengyuD,
                shengyuH,
                shengyuM,
                S,
                time: shengyuD + "天" + shengyuH + "小时" + shengyuM + "分" + S + "秒"
            }
        } else {
            // 没有传时间 获取当前时间
            var date = new Date();
            var year = date.getFullYear();
            var month = date.getMonth() + 1;
            var day = date.getDate();
            var hours = date.getHours();
            var minutes = date.getMinutes();
            var seconds = date.getSeconds();
            // 格式化日期
            date = date.toString()[1] ? date : '0' + date
            year = year.toString()[1] ? year : '0' + year
            month = month.toString()[1] ? month : '0' + month
            day = day.toString()[1] ? day : '0' + day
            hours = hours.toString()[1] ? hours : '0' + hours
            minutes = minutes.toString()[1] ? minutes : '0' + minutes
            seconds = seconds.toString()[1] ? seconds : '0' + seconds

            var time = year + "年" + month + "月" + day + "日" + " " + hours + "时"                 + minutes + "分" + seconds + "秒"
            return {
                date,
                year,
                month,
                day,
                hours,
                minutes,
                seconds,
                time
            }
        }
    }

    
    
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值