0
A
回答
0
查看PHP的時區設置功能,包括date_timezone_set
。
0
除了DAV的回答我提出的所有時間數據存儲在「時間戳」 MySQL的數據類型,因爲它會自動處理時區
1
比方說,您的服務器位於美國和存儲日期與美國當地GMT數據庫-7。
因此,您發送本地偏移量-7和員工國家的偏移量,可以說在歐洲的某個地方+2。
所以基本上你只需要知道什麼是-7 -2和它的9小時偏移量,所以你存儲在數據庫中的每個日期必須添加9個小時來表示在歐洲的時間。
這將計算偏移:
fnGetOffset($source_gmt_offset ,$fltGmtOffset)
{
$intGmtOffest = $source_gmt_offset - $fltGmtOffset;
if($intGmtOffest <> 0)
{
return $intGmtOffest;
}
}
你算偏差之後,你只需要從DB獲得的日期和添加到它的偏移量。
就像是:
$intUnixTimeStamp += $intGmtOffest*60*60;
所以這是用PHP做的正確方法。
如果您想根據用戶選擇的時間查詢服務器,則需要返回-9。
0
讓說:
貴公司的本地時間爲格林威治時間美國(-6)的一些情況,以及我們必須在荷蘭與GMT(+2)的僱員。
所以,你會想要做的是:
在你的數據庫保存在公司當地時間事件日期。
現在,當您查詢您的數據庫的可用日期時,首先檢查員工國家以獲得他的抵消。
- 如果它的荷蘭員工的數字爲+2,那麼您知道數據庫中的所有日期都存儲爲本地公司時間gmt -8。 所以它實際上是一個從gmt = -8的-6 - +2偏移量。現在,如果我們想從服務器時間到荷蘭的員工,我們只需要將時間偏移8小時。
最好的事情是它適用於SQL查詢應該是這樣的:
$symb= "+";
$intGmtInterval= 8;
DATE_FORMAT(CONVERT_TZ(my_event,'+0:00','$symb$intGmtInterval:00'),'%W')
所以這實際上將增加任何日期,導致在你的主查詢8個小時的偏差。
相關問題
- 1. PHP計算時間
- 2. 日期時間時區mysql和php的計算
- 3. Javascript運行時間計算機時區
- 4. 時區計算
- 5. 時區計算
- 6. 時區計算
- 7. 計算日期/時間PHP
- 8. 計算UTC時間,當我知道時區和該時區的時間
- 9. 從時間戳計算
- 10. 計算總秒從時間
- 11. 計時器 - 計算時間
- 12. 與時區計算時差
- 13. PHP/MYSQL時間表計算從進出的小時
- 14. 從格林威治標準時間和用戶時區計算時間
- 15. 時間計算
- 16. 時間計算
- 17. Php中的時間計算活動
- 18. 計算格式問題的時間php
- 19. PHP - 基於時間的數學計算
- 20. 計算時間的流逝與PHP
- 21. 從到達時間和旅行時間計算髮射時間
- 22. 時間大於24小時之間的PHP計算差值
- 23. 在while語句中計算時間表中的時間PHP/MYSQL
- 24. Excel計算準確時間的時間
- 25. 從GMT值計算時區 - Android
- 26. 如何計算以PHP計算的持續時間
- 27. 計算時間差
- 28. 計算時間表
- 29. Ruby時間計算
- 30. 計算時間段
「GMT時區值被放置在數據庫中」 - 以什麼格式/字段類型? – VolkerK 2010-03-16 09:20:57