簡體   English   中英

strtotime('今天')返回錯誤的時間?

[英]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())以正確顯示網站的日期

  • 你不在GMT地區
  • 或/和如果您希望您的用戶在時區中查看時區選項,例如。

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM