2009-09-11 57 views
1

我想將我的國家當地時間(新西蘭)保存在我的數據庫中。我使用PHP,但我不知道如何去做。如何在數據庫中保存當前的當地時間

請指導我。

+2

你正在使用什麼數據庫?是你想要存儲的時間嗎?到目前爲止,你有什麼? – 2009-09-11 23:28:45

+0

快速瀏覽jazzrai的其他問題,可能是MySQL或SQL Server 2005 – 2009-09-11 23:50:16

回答

1

 date('O');

會給你的差異服務器格林威治時間(GMT)以小時爲單位例如:+0200

您需要知道自己的時區的GMT偏移量。

使用這兩個數字來計算服務器在您之前或之後的距離,然後使用strtotime()獲取當前時間。

例如,如果服務器是未來的你2個小時內與您如果您使用時間戳字段和MySQL數據庫將使用

 date("Y-m-d H:i:s", strtotime("-2 hours"));

HTH

JG

0

使用NOW()或SYSDATE()在你的插入查詢:

insert into mytable set datetimefield=sysdate() 

只要確保服務器時間是同步的,並且它是在正確的時區。否則,你將不得不做一些額外的技巧來改變日期/時間。

如果時間是至關重要的,記住這一點:

MySQL 5.0.13開始,SYSDATE()返回 處執行的時間。 與NOW()的行爲不同, 返回一個恆定的時間, 表示 語句開始執行的時間。 (在一個 存儲程序或觸發器,NOW() 返回在其日常 或觸發語句開始 執行時間。)

0

,你可以調用CURRENT_TIMESTAMP。我建議不要將時間數據保存爲unix時間戳,因爲您可以在日期/時間戳字段上使用日期特定的函數,並從中提取unix時間戳。

相關問題