我存儲在格林尼治標準時間的MySQL數據庫的一些日期。
假設客戶的時區偏移量是-540;我將如何更正來自數據庫的datetime
以反映這一點?是否有一個方便的功能,我可以通過日期,或者我需要相應地添加或減少。PHP添加或減少時區偏移
回答
既然你已經在格林尼治標準時間格式的數據的項目,你必須將它們轉換爲時間標記,使用strtotime
,這裏更多的信息:http://php.net/manual/en/function.strtotime.php 一旦你有時間戳記,你可以減去偏移量(540次60秒)從它,然後將結果轉換爲一個新的日期字符串,使用date
,這裏更多的信息:http://php.net/manual/en/function.date.php
下面是代碼,可能這一個版本:
$dbValue = $row['date'];
$timestamp = strtotime($dbValue) - (540*60);
$result = date("Y-m-d H:i:s", $timestamp);
,這裏有數百萬次討論。謝謝 - 我將字段更改爲數據庫中某種時間戳的優點和缺點。在這一點上,如果它能更好地爲我服務,這是一個選擇。 – Chin 2012-03-06 09:05:04
我認爲我們正處於正確的軌道上。但上面的代碼需要9分鐘而不是9小時。 – Chin 2012-03-06 09:13:45
在我的頭頂,我必須說一個con會是在整個項目中顯示它們的事實,您將不得不將時間戳轉換爲日期字符串,但我想不出任何其他缺點。贊成,你可以很容易地按日期排序行,因爲時間戳基本上是數字。你可以使相對計算更容易,就像你最初的問題一樣。希望這可以幫助。 – 2012-03-06 09:14:59
也許這個片段將幫助您:
$format = 'Y-m-d';
$obj = new DateTime();
$date = date($format, strtotime($obj->format('Y-m-d H:i:s')) - $obj->format('Z'));
- 1. 如何添加或減去時間戳的時區偏移
- 2. 使用jquery增加或減少偏移量
- 3. PHP偏移量時區時間
- 4. 時區原偏移
- 5. 時區或UTC位置偏移
- 6. PHP - 奇怪的時區偏移
- 7. MongoDB中的PHP時區偏移量
- 8. 在PHP中設置時區偏移量
- 9. php:通過UTC偏移設置時區
- 10. 如何將時區偏移添加到pandas datetime?
- 11. js無法將時區偏移添加到「1900-01-01T00:00:00」?
- 12. 添加時間偏移量從GMT到Unix時間戳PHP
- 13. PHP:根據時區偏移量設置時區
- 14. PostgreSQL更新時區偏移
- 15. java.timeTimeTimeFormatter時區偏移模式
- 16. 反向時區偏移量
- 17. 找出時區偏移量
- 18. 時區偏移計算
- 19. 時區在asp.net偏移
- 20. 忽略時區偏移量
- 21. Fullcalendar - 時區偏移量
- 22. FLEX:處理時區偏移
- 23. 時區偏移問題
- 24. Ruby時區偏移問題
- 25. 獲取時區偏移量
- 26. codeigniter獲取時區偏移
- 27. jQuery.datepicker.formatDate和時區偏移
- 28. 包含時區偏移
- 29. Collectd時區偏移量
- 30. 時區偏移選擇
使用'timestamp'的MySQL數據類型和mysql會爲你做那個 – zerkms 2012-03-06 08:47:10
Ho它能做到嗎?它確實不知道客戶的時區。我想它會根據服務器時區來做它沒有?我全是耳朵 - 謝謝。 – Chin 2012-03-06 08:48:21
你可以爲每個連接設置客戶端時區,並且mysql會爲你做所有的偏移工作。關於SO – zerkms 2012-03-06 10:02:58