我已經推出一個項目近期(here),我只能和定時器/時間問題:定時器,時區,服務器端的時間,客戶端倒計時
我有誰每天都跑步是一個cronjob,每天兩次:法國時區的午夜和中午。
我想顯示一個「倒計時到下一頁」,這實際上是一個倒計時直到cronjob。
我有點卡住了,因爲當我開始考慮時間和時區相關的事情時,我的大腦就會凍結。
我知道我應該服務器端的時間,並顯示我的變量在客戶端計時器(無需獲得客戶端時間),但這就是它。
我真的很感激一些建議!
在此先感謝大家!
我已經推出一個項目近期(here),我只能和定時器/時間問題:定時器,時區,服務器端的時間,客戶端倒計時
我有誰每天都跑步是一個cronjob,每天兩次:法國時區的午夜和中午。
我想顯示一個「倒計時到下一頁」,這實際上是一個倒計時直到cronjob。
我有點卡住了,因爲當我開始考慮時間和時區相關的事情時,我的大腦就會凍結。
我知道我應該服務器端的時間,並顯示我的變量在客戶端計時器(無需獲得客戶端時間),但這就是它。
我真的很感激一些建議!
在此先感謝大家!
您可以使用php DateTime
。
下面是一個例子。
$now = new DateTime;
$morning = new DateTime('08:00');
$night = new DateTime('22:00');
// next time is night
if($now > $morning && $now < $night)
{
$time = $now->diff($night);
}
// next time is day
else
{
$time = $now->diff($morning);
}
$target = $time->format('%h:%i:%s'); // returns a string.
您應該使用基思·伍德的倒計時:http://keith-wood.name/countdown.html
這是非常容易使用。
所有你需要做的就是
$('#timer').countdown({
until: '<?php echo date("h:i:s"); ?>' // change this, obviously
});
類'DateTime'(或者甚至更好,['DateTimeImmutable'(HTTP:// PHP。 net/manual/en/class.datetimeimmutable.php)用於PHP 5.5+)允許您創建代表特定時刻的值。你可以直接用'<'來比較它們中的兩個,以查找哪一個更早。 ['diff'](http://www.php.net/manual/en/datetime.diff.php)方法可以讓你找到兩個這樣的時刻之間的時間間隔。你有沒有嘗試過使用它們? – Jon
我不確定我的主機有php大於5.4,所以我必須堅持使用dateTime! 我知道diff方法,但我怎麼能有這個特定的「午夜」或「午間」是什麼讓我卡住... –