[英]strtotime('today') returning incorrect time?
我正在嘗試從用戶的當前日期開始創建一個選擇列表。 我希望它以unix時間戳格式設置為午夜。
這就是我正在做的事情:
$today = strtotime('today');
echo $today;
這是我的結果:
1333144800
這是:星期五,2012年3月30日22:00:00 GMT根據Epoch轉換器(錯誤幾個小時。)
如果您希望strtotime()返回相對於UTC的時間戳(00:00:00 UTC而不是例如00:00:00 UTC + 2,如果您的系統設置為與UTC / GMT相差2小時的時區),你需要指定:
$today = strtotime('today UTC');
GMT(+0)時間
echo $today = strtotime('today GMT');
echo "<br>" . $today = date("d-m-Y H:i:s", $today);
我們希望您的服務器以GMT運行 - 這是最好的(用於隨后顯示時間的機動)。 如果沒有,你必須調整php.ini設置這個“date.timezone = GMT”。
完成后,您將看到我的代碼00:00。
然后,您必須在腳本中開發函數(即DisplayDate())以正確顯示網站的日期
DisplayDate()還應包括對日光變化的支持(0或+1小時/夏令時和冬令時)。
strtotime( $time )
被設計為返回一個UNIX timetamp,這意味着,它會返回自1月1日的秒數,1970 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');
您應該檢查php.ini文件中的時區配置。 在我的情況下(我住在薩爾瓦多)我不得不改變它:
date.timezone = America/El_Salvador
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.