我想創建一個從用戶當前日期開始的選擇列表。我希望它以unix時間戳格式設置爲午夜。爲什麼我的strtotime(「今日」)不起作用?
這是我做的:
$today = strtotime('today');
echo $today;
這是我的結果:
1333144800
是:星期五根據大紀元轉換
,2012年03月30 22:00:00 GMT我想創建一個從用戶當前日期開始的選擇列表。我希望它以unix時間戳格式設置爲午夜。爲什麼我的strtotime(「今日」)不起作用?
這是我做的:
$today = strtotime('today');
echo $today;
這是我的結果:
1333144800
是:星期五根據大紀元轉換
,2012年03月30 22:00:00 GMT如果您希望strtotime()返回一個相對於UTC的時間戳(UTC時間爲00:00:00,而不是例如00:00:00 UTC + 2,那麼如果您的系統設置爲偏移2小時的時區UTC/GMT),您需要指定:
$today = strtotime('today UTC');
哇,其工作, – 2016-07-22 08:08:42
非常感謝 – 2016-07-22 08:09:03
您應該檢查php.ini文件中的時區配置。在我的情況(我住在薩爾瓦多),我不得不改變這樣的:
date.timezone = America/El_Salvador
strtotime($time)
旨在返回UNIX timetamp,意義,它將返回自1970年1月1日的秒數。http://www.php.net/manual/en/function.strtotime.php
要解決這個問題,使用類似:
$today = date("d/m/Y H:i:s", strtotime('today'));
echo $today;
,您可能需要專門設置的時間還有一天:
$today_midnight = strtotime('today UTC 00:00');
GMT(+0)時間
echo $today = strtotime('today GMT');
echo "<br>" . $today = date("d-m-Y H:i:s", $today);
我們期待您的服務器在運行格林尼治標準時間 - 這是最好的(與時間顯示機動更高版本)。如果沒有,你必須調整php.ini設置這個「date.timezone = GMT」。
當你完成後,你會看到00:00與我的代碼。
然後,你必須開發功能(即DisplayDate())在你的腳本,如果
DisplayDate()應該包括對日光變化的支持(0或1小時/夏令時和冬令時)。
看起來像服務器的時區設置爲GMT + 2,所以你實際上得到正確的結果。 – Niko 2012-03-31 16:28:33
嚴重的是,* noone對此類事物的反應應該是「'strtotime'不起作用」。接下來呢,在'strlen'中有一個bug? – Jon 2012-03-31 17:57:36