我有事件具有START_TIME,並節省了UNIX時間的表。我想根據服務器時間在我的網站上顯示倒計時,因此倒計時不取決於用戶當地的時間。 我得到的開始時間和當前時間在服務器上減去它:進入倒計時
$diff= $upc_tourn['start_t'] -time();
,但我不知道如何表達倒計時基於這種差異我的用戶。 我想要的輸出是這樣的:
2 days 10:25:30
我有事件具有START_TIME,並節省了UNIX時間的表。我想根據服務器時間在我的網站上顯示倒計時,因此倒計時不取決於用戶當地的時間。 我得到的開始時間和當前時間在服務器上減去它:進入倒計時
$diff= $upc_tourn['start_t'] -time();
,但我不知道如何表達倒計時基於這種差異我的用戶。 我想要的輸出是這樣的:
2 days 10:25:30
好以下是我想出了。這是一個快速功能,您可以根據自己的喜好進行簡化和擴展。
這裏是FIDDLE
<?php
$diff= (time() + 172600) - time(); // replace (time() - 172600) with your time in the future.
function timedifftostr($timediff) {
$days = floor($timediff/(60*60*24));
$days_raw = $days * (60*60*24);
$hours = floor(($timediff-$days_raw)/(60*60));
$hours_raw = $hours * (60*60);
$minutes = floor(($timediff-($hours_raw + $days_raw))/(60));
$minutes_raw = $minutes * (60);
$seconds = floor($timediff-($hours_raw + $days_raw + $minutes_raw));
$seconds_raw = $seconds;
echo $days." Day/s ".str_pad($hours,2,0).":".str_pad($minutes,2,0).":".str_pad($seconds,2,0);
}
timedifftostr($diff);
?>
你可以擴展這進一步增加了對多天的檢查和添加S或不一天。長久以來,答案就是爲了展示未來對你的工作。下面我提供了數學的快速分解。
time() is in seconds.
So time()/60 is time in minutes.
So time()/60/60 is time in hours.
So time()/60/60/24 is time in days.
謝謝,但這不是倒計時,它只是顯示剩餘時間 –
@ Hirad Roshandel,我意識到之後,評論中提供的鏈接就是一個很好的例子,所以我沒有提供另一個。如果該鏈接沒有回答您的問題,我可以提供一個。 – n099y
我你使用PHP,但下面是一個JavaScript解決方案很好的回答看http://stackoverflow.com/questions/20618355/the-simplest-possible-javascript-countdown-timer –
的http://計算器.com/questions/439630/how-do-you-create-a-javascript-date-object-with-a-set-timezone-without-using-as設置時區。用PHP你將與服務器進行通信,以刷新倒計時 –
@FintanCreaven我不想更改時區 –