霍者博客

实现距今天数和倒计时天数的JS代码

先看实现的效果

JS调用代码:

<script>
window.onload = function() 
{
    var now = new Date();
    var reg = /^\s*([1-9]\d{3})\-(\d{1,2})\-(\d{1,2})\s*$/;
    var _start1 = document.getElementById("start1").innerHTML;
    var _end1 = document.getElementById("end1").innerHTML;
    if (
        !reg.test(_start1)
        ||
        !reg.test(_end1)
       ) 
    {
        throw new Error("Date Format Is Error !");
        return;
    }
    var start1 = new Date(_start1.replace(reg, "$1"), parseInt(_start1.replace(reg, "$2")) - 1, _start1.replace(reg, "$3"));
    var end1 = new Date(_end1.replace(reg, "$1"), parseInt(_end1.replace(reg, "$2")) - 1, _end1.replace(reg, "$3"));
    document.getElementById("start2").innerHTML = Math.floor((now - start1)/(1000*60*60*24));
    document.getElementById("end2").innerHTML = Math.round((end1 - now)/(1000*60*60*24));
}
</script>

HTML调用代码:

(开始时间) : <span id="start1">2016-10-24</span> 已使用<span id="start2">xx</span>天<br />
(到期时间) : <span id="end1">2016-10-26</span> 距到期<span id="end2">xx</span>天

上面的代码可用,但是我发现了一个问题,如果单独想调用开始时间到期时间,效果就失效了。后经测试得知,如果需要开始时间,就删除JS代码里关于到期时间的代码,反之亦然。

如果只需要id="end2"到期的天数,而前面设置的id="end1"具体的时间隐藏的话,只需要给他一个display:none;样式即可。

原创文章请注明转载自霍者博客本文地址:http://www.huozheweb.com/post/567.html,标题:实现距今天数和倒计时天数的JS代码

【我来说两句】
分享到:

评论 0

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。