时间对象 计算时间差


        // 不传参
         var timer = new Date()
         console.log(timer)  // Wed Jan 04 2023 14:12:28 GMT+0800 (中国标准时间)

        // 1. 数字
        //                   年    月   天  时  分  秒
      var timer = new Date(1999, 00, 31, 23, 59, 59)
      console.log(timer)


        // 2. 字符串
        var timer = new Date('2019-02-13 13:14:15')
        console.log(timer)

获取时间对象

       var timer = new Date()

        // 获取 年
        console.log(timer.getFullYear())

        // 获取 月 (0~11)
        console.log(timer.getMonth())

        // 获取 日
        console.log(timer.getDate())

        // 获取 周几
        console.log(timer.getDay())

        // 获取时分秒
        console.log(timer.getHours())
        console.log(timer.getMinutes())
        console.log(timer.getSeconds())

设置时间对象

      var timer = new Date()

        // 设置 年
        timer.setFullYear(2008)
        // var year = timer.getFullYear()
        console.log(timer.getFullYear())    // 2023 / 2008

        // 设置 月
        timer.setMonth(12)
        console.log(timer.getMonth(), 111)

        // 设置 当月的第几天
        timer.setDate(20)
        console.log(timer.getDate())

        // 注意, 没有设置 本周的第几天

        // 设置 时
        timer.setHours(21)
        console.log(timer.getHours())

        // 设置 分
        timer.setMinutes(30)
        console.log(timer.getMinutes())

        // 设置 秒
        timer.setSeconds(40)
        console.log(timer.getSeconds())

        // 设置 毫秒
        timer.setMilliseconds(888)
        console.log(timer.getMilliseconds())

        // 直接设置 到 1970 的总毫秒
        timer.setTime(123456789)
        console.log(timer.getTime())
// 1.1 先获取到两个指定的时间
        var prevTime = new Date('2023-1-1 0:0:0')
        var curentTime = new Date()
        // 1.2 获取到两个时间距离1970的毫秒数
        var prevTimerMilli = prevTime.getTime()
        var curentTimeMilli = curentTime.getTime()

        // 2. 计算两个毫秒的差值
        var time = curentTimeMilli - prevTimerMilli

        var oneDayMilli = 1000 * 60 * 60 * 24   // 一天的毫秒数

        var day = parseInt(time / oneDayMilli)  // 有多少个完整的天

        time = time - day * oneDayMilli // 剩余 不足一天的毫秒数
 /**
         *  4. 用剩余不足一天的毫秒数 去计算出里边还有多少完整的小时
         *      parseInt(time / 一小时的毫秒数) === 有多少个完整的小时
         * 
         *      剩余不足一小时的毫秒数 === 总毫秒 - 完整的小时 * 一小时的毫秒数
        */
        var oneHoursMilli = 1000 * 60 * 60  // 一小时的毫秒数

        var hours = parseInt(time / oneHoursMilli)  // 有多少完整的小时

        time = time - hours * oneHoursMilli // 剩余 不足一小时的毫秒数

  /**
         *  5. 用剩余不足一小时的毫秒数 去计算出里边还有多少完整的分钟
         *      parseInt(time / 一分钟的毫秒数)
         * 
         *      剩余不足一分钟的毫秒数 === 总毫秒 - 完整的分钟 * 一分钟的毫秒数
        */
        var oneMinutesMilli = 1000 * 60 // 一分钟的毫秒数

        var minutes = parseInt(time / oneMinutesMilli)  // 有多少完整的分钟

        time = time - minutes * oneMinutesMilli

        // 6. 计算有多少完整的秒    parseInt(time / 一秒钟的毫秒数)
        var seconds = parseInt(time / 1000)

        console.log('两个时间相差 ', day, '天', hours, '小时', minutes, '分钟', seconds, '秒')

  // 定义两个时间对象
    var time1 = new Date();
    var time2 = new Date('2022-12-1 12:12:12')
// 获取时间差

  function diffTime(t1, t2) {
        var res = Math.ceil(Math.abs(t1 - t2) / 1000)
        return {
            day : parseInt(res / (60 * 60 * 24)),
            hours : parseInt(res % (60 * 60 * 24) / ( 60 * 60 )),
            minutes : parseInt(res % ( 60 * 60 ) / 60),
            second : res % 60
        }
    }

    // 结果
    var res = diffTime(time1, time2)
    // 两个时间对象相差 xx 天 xx 小时 xx 分钟 xx 秒钟
    console.log(res);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值