簡體   English   中英

PHP-MySQL日期轉換

[英]PHP - Mysql date conversion

我注意到MYSQL和PHP之間的日期轉換產生了一些奇怪的結果。 請看以下

PHP:strtotime(2012年3月25日)返回1332626400
Mysql:FROM_UNIXTIME(1332626400)返回2012-03-25 00:00:00
該結果符合預期。

問題:

Php:strtotime(26-Mar-2012)返回1332709200
Mysql:FROM_UNIXTIME(1332709200)返回2012-03-25 23:00:00

我希望FROM_UNIXTIME返回“ 2012-03-26”,即(3月26日而不是3月25日)

忽略以下時間也無濟於事:
FROM_UNIXTIME(1332709200,'%Y-%m-%d')返回2012-03-25

知道這里發生了什么嗎?

也許PHP和MySQL服務器中的時區不同。 結果的差異恰好是1小時,而數據源則以秒為單位。 那不可能是巧合。 好像是UTC +1或UTC -1

檢查date.timezone變量。 在我的情況下(歐洲/布達佩斯),它會拋出正確的值:

$ php -r "echo strtotime('26-Mar-2012');"
1332712800

我嘗試在mysql SELECT FROM_UNIXTIME(1332709200)AS time上執行以下查詢; 然后返回“ 2012-03-26 02:30:00”。 因此,這似乎與服務器上的夏令時或時區有關。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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