小禄的开发日记系列——JQ获取当前时间到目标时间的间隔

需求背景

今天开发的时候,有一个小需求是需要把某个值存如cookie,过期时间为第二天的0点。我们框架的cookie写入是以小时为单位传入的。那么我就想写一个方法计算当前时间到第二天0点的时间间隔。

    function GetTimeInterval() {
        var tomorrow = new Date();
        tomorrow.setTime(tomorrow.getTime() + 24 * 60 * 60 * 1000);
        var month = myDate.getMonth() + 1;
        var day = myDate.getDate();
        month = (month.toString().length == 1) ? ("0" + month) : month;
        day = (day.toString().length == 1) ? ("0" + day) : day;
        var tomorrowStr = myDate.getFullYear() + '-' + month + '-' + day+ ' 00:00:00';
        var nowTime = Date.parse(new Date());
        var tomorrowTime = Date.parse(new Date(tomorrowStr));
        var interval= (tomorrowTime- nowTime);        
        var hours = Math.floor(interval/1000/60);
        return hours;//返回间隔小时
    }

到这为止,我的需求就解决了。这里返回的单位是小时,如果需要返回其他单位,计算下即可。

 发散思维

我们也经常会碰到需要计算当前时间到某个时间的一个倒计时,例如高考倒计时还有: 100天10小时20分30秒。

    function CountDown (TargetTime) {//传入需要倒计时时间如:2022-01-01
        var nowTime = Date.parse(new Date());
        var toTime = Date.parse(new Date(TargetTime));
        var interval= (tomorrowTime- nowTime)/1000;    
        var day=Math.floor(interval/3600/24); 
        var hh=Math.floor((interval%(3600*24))/(60*60));   
        var mm=Math.floor(((interval%(3600*24))%(60*60))/60);
        var ss=((interval%(3600*24))%(60*60))%60;
        var hours = Math.floor(interval/1000/60);
        return '现在距离'+TargetTime+'还剩:'+day+' 天 '+hh+' 小时 '+mm+ ' 分 '+ss+' 秒 ';
    }

关注小禄每天分享开发中遇到的小需求。 

 

你可能感兴趣的:(小禄的开发日记)