JS倒計時,距離某一日期還有多少時間


JS計算從現在到某個時刻還有多少時間,顯示當前日期時間距離x年x月x日還有x天x小時x分鍾x秒,如果給定時間比當前時間更早,則顯示為距離2012-9-30已過去1天22小時26分30秒的格式,如果給定時間比當前時間晚則顯示為距離2012-10-3還有1天1小時32分20秒的格式.
函數調用方式舉例:
count_down('2012-10-2');//只給日期
count_down('2012-10-2 3:22');//給出日期和時分
count_down('2012-10-2 3:22:33');給出日期和時分秒
注意事項:
不要刪除<span id="show">Loading...</span>
日期必須以4位年月開頭,嚴格按照上述例子書寫
形如2012-30-50 25:88:99,年月日時分秒只要有一個是錯誤的,程序都將無法正常運行.

<span id="show">Loading...</span>
<script type="text/javascript">
function count_down(o){
        var datatime=/^[\d]{4}-[\d]{1,2}-[\d]{1,2}( [\d]{1,2}:[\d]{1,2}(:[\d]{1,2})?)?$/ig,str='',conn,s;
        if(!o.match(datatime)){
                alert('參數格式為2020-01-01[ 01:01[:01]].\r其中[]內的內容可省略');
                return false;
        }
        var sec=(new Date(o.replace(/-/ig,'/')).getTime() - new Date().getTime())/1000;
        if(sec > 0){
                conn='還有';
        }else{
                conn='已過去';
                sec*=-1;
        }
        s={'':sec/24/3600,'小時':sec/3600%24,'分':sec/60%60,'':sec%60};
        for(i in s){
                if(Math.floor(s[i])>0 ) str += Math.floor(s[i]) + i;
        }
        if(Math.floor(sec)==0){ str='0秒'; }
        document.getElementById('show').innerHTML = '距離<u>' + o + '</u>' + conn +'<u>' + str + '</u>';
        setTimeout(function(){count_down(o)},1000);
}
count_down('2012-1-1 00:00:00');
</script>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM