我如何將存儲的日期,如2011-01-30 18:23:49,並調整到任何選定的時區?有沒有簡單的方法,例如簡單地通過縮寫或加/減x小時來定義時區? 基本上我希望用戶能夠選擇他們的時區,並調整這個默認日期以適合他們的時區。調整時區
Q
調整時區
7
A
回答
7
讓用戶選擇自己的時區
使用該區域名稱或抵消
date_default_timezone_set
設置在整個腳本執行的其他日期函數的默認時區。使用
date('Z')
來獲取時區與格林尼治標準時間以秒將您保存的日期與
strtotime
時間戳偏移 - UNIX時間戳總是GMT,所以你現在在GMT時間。添加步驟3中的偏移量,將該時間轉換爲用戶的時區。
再次使用
date
將時間戳格式化爲所需顯示格式的字符串。
例子:
$user_timezone = 'America/Los_Angeles';
$stored_time = '2011-01-30 18:23:49';
date_default_timezone_set($user_timezone);
$timestamp = strtotime($stored_time);
$local_timestamp = $timestamp + date('Z');
$local_date = date('Y-m-d H:i:s', $local_timestamp);
echo $local_date;
0
這纔是我的解決方案。我使用America/Los_Angeles作爲服務器時區和我的時區作爲用戶進行了測試。我假設時間是使用服務器時區存儲的。
<?php
// My (user) timezone
$user_timezone = 'Europe/Berlin';
// Server timezone
$stored_timezone = 'America/Los_Angeles';
// Date/Time stored in your DB, using timezone of the server (yours, that is)
$stored_datetime = '2011-01-29 22:40:00'; // this is the current time in L.A.
// Setting default to servers timezone if not done before
date_default_timezone_set($stored_timezone);
// converting to unix timestamp
$stored_timestamp = strtotime($stored_datetime);
// setting default to users timezone
date_default_timezone_set($user_timezone);
// converting to timestamp
$user_datetime = date('Y-m-d H:i:s', $stored_timestamp);
// setting default back to servers timezone
date_default_timezone_set($stored_timezone);
echo $user_datetime; // output is my current time
相關問題
- 1. 調整jsonSerializer時區
- 2. 調整「NOW()」時區
- 3. PHP時區調整
- 4. Excel VBA時區調整器
- 5. 根據時區調整發布時間
- 6. 從NSDate獲取NSDate隨時區調整
- 7. 調整R中的數據時區
- 8. MDLS不報UTC時區調整
- 9. angularjs日期時區調整問題
- 10. 如何在python中用時區最佳地調整時間戳?
- 11. 無法在不同時區打開時調整vCalendar(vcs)
- 12. 如何根據asp.net中的夏令時調整時區
- 13. 調整圖像大小時調整
- 14. PyQt4 - 從動畫調整大小區分窗口大小調整
- 15. DBS爲什麼不自動調整/調整緩衝區大小?
- 16. iPhone:調整大小UIImageView不會調整「觸摸區域」
- 17. 如何使用wordpress在Apache中調整服務器的時區?
- 18. 使用DateTime/DateTimeZone在PHP中調整時區
- 19. 將字符串轉換爲NSDate,時區不正確調整?
- 20. 調整陣列輸出用於用戶時區
- 21. DateTime參數根據時區進行調整
- 22. 爲什麼MySQL CONVERT_TZ改變時區調整後的秒數?
- 23. 什麼是調整當地時區的最佳方式?
- 24. 春季休眠不需要的時區調整
- 25. 如何調整@timestamp到當地時區Elastalert
- 26. 在加載時調整文本區域的大小
- 27. 如何在ASP.NET應用程序中調整時區?
- 28. 如何避免Spring JPA上的時區調整問題?
- 29. 在使用多個時區時,如何獲取pandas DataFrame中每行的時區調整小時數?
- 30. qwtspectrogram軸調整區域不是像素
[調整的時區PHP和日期時間/ DateTimeZone]的可能重複(http://stackoverflow.com/questions/1445087/adjusting-time-zone-in-php-with-datetime-datetimezone) – 2011-02-01 06:09:54