2009-10-06 83 views

回答

84
print date('H:i'); 
$var = date('H:i'); 

應該這樣做,目前的時間。使用小寫字母h表示12小時制,而不是24小時制。

+3

完整文檔在這裏 - http://us3.php.net/manual/en/function.date.php – Kip 2009-10-06 14:30:19

+0

非常感謝。但它沒有顯示我的系統時間..有一些差異。 – smakstr 2009-10-06 14:31:08

+1

date()的輸出將顯示服務器的本地時間。您可能需要執行時區調整,或者覆蓋其他帖子中提到的服務器時區。通常情況下,您最好的辦法是處理UTC/GMT時間戳(gmdate()等),並根據GMT進行timezeone調整,因爲它可以在更多配置中移植。 – Rob 2009-10-06 21:38:55

17

試試這個:

$hourMin = date('H:i'); 

這將是24小時的時間還有一個小時,始終是兩位數字。有關所有選項,請參閱PHP docs for date()

1

在解決你的評論中,你需要你的當前時間,而不是系統時間,你將不得不自己做一個調整, 每小時有3600秒(單位時間戳使用),所以使用它。例如,如果您的系統時間滯後一小時:

$ time = date('H:i',time()+ 3600);

9
print date('H:i'); 

您必須在php.ini中設置正確的時區。

查找這些行:

[Date] 

; Defines the default timezone used by the date functions 

;date.timezone = 

這將是這樣的:

date.timezone ="Europe/Lisbon" 

不要忘記重新啓動你的web服務器。

+0

這已棄用。你需要在實際的PHP腳本中設置你的時區(當你不這樣做時會引發嚴格的錯誤)。 http://php.net/date-default-timezone-set是在PHP腳本中設置時區時應該使用的函數。 – dcousineau 2009-10-06 18:45:42

1
function get_time($time) { 
    $duration = $time/1000; 
    $hours = floor($duration/3600); 
    $minutes = floor(($duration/60) % 60); 
    $seconds = $duration % 60; 
    if ($hours != 0) 
     echo "$hours:$minutes:$seconds"; 
    else 
     echo "$minutes:$seconds"; 
} 

get_time('1119241');