2015-06-04 更新 须要引入jqueryjavascript
<script> //start和end参数有4种选项 1为null或者默认时为当前时间 2为javascript的Date对象 3为时间戳 4为回调参数(不理解) 每隔1秒会调用这个方法1次 //后个参数 分别为 时间,天数和小时之间的分隔符 countdown.setLabels( 'millisecond|秒|分|小时|天| week| month| year| decade| century| millennium', 'milliseconds|秒|分|小时|天| weeks| months| years| decades| centuries| millennia', '', '', '', function(n){ return n.toString(); }); //注意new Date是月份是从0开始的 这里的5至关于6月份 var timerId = countdown( function(ts){ $("#pageTimer").html(ts.toString()); }, new Date("2015-6-4 14:07:40"), countdown.DAYS|countdown.HOURS|countdown.MINUTES|countdown.SECONDS); // later on this timer may be stopped </script>
<body> <div id="pageTimer"></div> </body>
http://support.sartweb.com/?p=1356 推荐地址html
api用法java
一个简单而灵活的API是Countdown.js的目标。这里是一组静态常量一个全局的功能:jquery
var timespan = countdown(start|callback, end|callback, units, max, digits);
上面的参数是起始日期,结束日期,一组可选的单位,单位任选最大数目,和最小单元上的小数位的可选最大数量。单位默认为countdown.DEFAULTS,最大默认为NaN(全部指定的单位),数字默认为0。git
var timerId = countdown( new Date(), function(ts) { document.getElementById('pageTimer').innerHTML = ts.toHTML("strong"); }, countdown.HOURS|countdown.MINUTES|countdown.SECONDS); // later on this timer may be stopped window.clearInterval(timerId);
下方是原文翻译web
虽然看似一个微不足道的问题,人类描述的时间跨度每每是模糊的比电脑天然计算。更具体地讲,月均固有搞砸的时间单位。例如,当一我的说:“1个月”多久,他们是什么意思?银行每每解释为30天但这是时间惟一正确的三分之一。人们随口说说一个月为四星期之久,但也只有一个月,一年是4周长,只不过是长三个季度的时间。甚至直观地定义这些术语可能会产生问题。例如,什么是日起一个月2001年1月31日呢? JavaScript的会很乐意把这个3月3日,2001年人类一般会辩论不管是2001年2月28日或3月1日,2001年没有一个“正确”的答案自己。算法
Countdown.js强调生产时间跨度它们是一致的,随着时间的推移的直觉正确的描述。要作到这一点,Countdown.js使用的“今天的日期在下月”的理念,以“从如今起一个月”的意思。随着日子一每天过去,Countdown.js产生连续递增或递减计数没有不一致的跳跃。精度的范围仅受限于底层系统时钟。api
Countdown.js接近寻找像小学减法问题两个时间之间的差。每一个单位的行为像一个在那里的任何溢出进行到下一个最高单元基10的地方,任何溢从下一个最高单位借来的。在基10减法,每列是价值10倍的前一列。这是一个稍微复杂一些,由于时间单位之间的转换是不同的,月是天不一致的数量。在该算法中的最后步骤,Countdown.js梅干设定时间单位下降到仅那些要求,迫使较大的单位下降到更小。this