2011-11-27 106 views
1

這裏是一個JavaScript,我用它來產生一些倒計時,我的問題是JavaScript是使用用戶PC的日期,有沒有什麼方法可以修改腳本使用類似的東西:JavaScript倒計時和PHP日期

<?php 
date_default_timezone_set('Ireland/Dublin'); 
$date = date('m/d/Y h:i:s A', time());?> 

以下是網站上用於在頁面上顯示多次倒計時的當前代碼。

<script type="text/javascript" language="JavaScript">//<![CDATA[ 


<?php 
    echo 'StartCountDown("c' . $post->ID . '","' . $enddate . '")'; 

    ?> 


    function StartCountDown(myDiv,myTargetDate) 
    { 
    var dthen = new Date(myTargetDate); 
    var dnow = new Date(); 
    ddiff  = new Date(dthen-dnow); 
    gsecs  = Math.floor(ddiff.valueOf()/1000); 
    CountBack(myDiv,gsecs); 
    } 

    function Calcage(secs, num1, num2) 
    { 
    s = ((Math.floor(secs/num1))%num2).toString(); 
    if (s.length < 2) 
    { 
     s = "0" + s; 
    } 
    return (s); 
    } 

    function CountBack(myDiv, secs) 
    { 
    var DisplayStr; 
    var DisplayFormat = "%%D%% %%H%%:%%M%%:%%S%%"; 
    DisplayStr = DisplayFormat.replace(/%%D%%/g, Calcage(secs,86400,100000)); 
    DisplayStr = DisplayStr.replace(/%%H%%/g,  Calcage(secs,3600,24)); 
    DisplayStr = DisplayStr.replace(/%%M%%/g,  Calcage(secs,60,60)); 
    DisplayStr = DisplayStr.replace(/%%S%%/g,  Calcage(secs,1,60)); 
    if(secs > 0) 
    { 
     document.getElementById(myDiv).innerHTML = DisplayStr; 
     setTimeout("CountBack('" + myDiv + "'," + (secs-1) + ");", 990); 
    } 
    else 
    { 
     document.getElementById(myDiv).innerHTML = "&nbsp;SOLD OUT"; 
    } 
    } 

//]]></script> 

任何幫助將不勝感激。

回答

4

它看起來像它那樣簡單改變

var dnow = new Date(); 

喜歡的東西:

<?php date_default_timezone_set('Ireland/Dublin'); ?> 
var dnow = new Date(<?= time(); ?>); 
+1

你能告訴我解決方案中的時間或日期格式嗎? – user1068410

+1

沒有日期格式 - 由JS決定如何輸出日期以及它的格式。該解決方案使用[time](http://www.php.net/time),它返回一個UNIX時間戳以將JS'Date'對象設置爲服務器時間。 – nickb

0

你應該在這裏看看this answer這個由@pimvdb編寫的代碼片段非常好,真正可讀。非常簡單的修改。

+1

沒有沒有真的那麼容易,或許你可以來用一個例子 - 我有沒有使用Javascript – user1068410

+1

的想法你甚至看過嗎? –

+1

YES Jan Dragsbaek – user1068410