日期格式之——剩余时间(天,小时,分,秒)的计算方法

Posted baoyadong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了日期格式之——剩余时间(天,小时,分,秒)的计算方法相关的知识,希望对你有一定的参考价值。

demo的css样式如下:

* { margin: 0;padding: 0;}
    #timer {
        font-size: 0px;color: red;font-weight: bolder;
        /*对字体进行抗锯齿渲染可以使字体看起来会更清晰舒服它有三个属性值:
        none: 对低像素的文本比较好;subpixel-antialiased:默认值;antialiased:抗锯齿很好 */
        -webkit-font-smoothing: antialiased;
    }
    span {font-size: 12px;}
    /*将span定宽,将重绘最小化*/
    #days,#hours,#minutes,#seconds {
        display: inline-block;
        width: 14px;
        text-align: center;
    }

demo的html如下:

<div id="timer">
         <span id="days"></span><span></span>
         <span id="hours"></span><span>小时</span>
         <span id="minutes"></span><span></span>
         <span id="seconds"></span><span></span>
     </div>

demo的js如下:

var leftTime;
 function leftTimer(year,month,day,hour,minute,second){ 
  leftTime = (new Date(year,month-1,day,hour,minute,second)) - (new Date()); //计算剩余的毫秒数 
  var days = parseInt(leftTime / 1000 / 60 / 60 / 24 , 10); //计算剩余的天数 
  var hours = parseInt(leftTime / 1000 / 60 / 60 % 24 , 10); //计算剩余的小时 
  var minutes = parseInt(leftTime / 1000 / 60 % 60, 10);//计算剩余的分钟 
  var seconds = parseInt(leftTime / 1000 % 60, 10);//计算剩余的秒数 
  return {
    days: checkTime(days),
    hours: checkTime(hours),
    minutes: checkTime(minutes),
    seconds: checkTime(seconds) 
  }
}

var timer = setInterval(function(){ 
     var t = leftTimer(2017,11,21,12,0,0);
    if (!leftTime) clearInterval(timer);
     document.getElementById("days").innerHTML = t.days;
     document.getElementById("hours").innerHTML = t.hours;
     document.getElementById("minutes").innerHTML = t.minutes;
     document.getElementById("seconds").innerHTML = t.seconds;
 },1000);
 
function checkTime(i){ //将0-9的数字前面加上0,例1变为01 
  if(i<10) i = "0" + i; 
  return i; 
} 

 

以上是关于日期格式之——剩余时间(天,小时,分,秒)的计算方法的主要内容,如果未能解决你的问题,请参考以下文章

获取 date-fns 中两个日期之间的持续时间,以天:小时:分钟:秒格式

java 如何格式化时间差?比如我要记录某个任务运行了多长时间,可能是几秒,也可能长达几天

从日期算起多少天/小时/秒

请高手设计一个PHP倒计时代码,感激不尽

mysql:两个时间相减,得出这种格式的时间 '2年240天17小时56分2秒'能用sql写出来吗 ?

模仿微信朋友圈发布时间,将过去时间格式化成xx(秒/分/小时/天)前