我如何將存儲的日期,如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. 時區調整
- 2. 調整jsonSerializer時區
- 3. PHP時區調整
- 4. 調整「NOW()」時區
- 5. Excel VBA時區調整器
- 6. VBA當地時區調整
- 7. 根據時區調整發布時間
- 8. 在VB.NET中關閉時區DST調整?
- 9. 從NSDate獲取NSDate隨時區調整
- 10. angularjs日期時區調整問題
- 11. 調整R中的數據時區
- 12. 如何調整twitter api時區?
- 13. MDLS不報UTC時區調整
- 14. 根據用戶調整PHP時區
- 15. wysihtml5文本區域調整
- 16. 如何在python中用時區最佳地調整時間戳?
- 17. 針對每個用戶調整時區和夏令時
- 18. 將源文本轉換爲帶時區調整的時間
- 19. 如何根據asp.net中的夏令時調整時區
- 20. 無法在不同時區打開時調整vCalendar(vcs)
- 21. 調整圖像大小時調整
- 22. PyQt4 - 從動畫調整大小區分窗口大小調整
- 23. iPhone:調整大小UIImageView不會調整「觸摸區域」
- 24. DBS爲什麼不自動調整/調整緩衝區大小?
- 25. STM32時鐘調整
- 26. 防止調整大小的文本區域調整整個表的大小
- 27. mongodb日期彙總運算符使用php的時區調整
- 28. 當它擴展了限制區域時調整gameObject的大小
- 29. 如何避免Spring JPA上的時區調整問題?
- 30. 使用DateTime/DateTimeZone在PHP中調整時區
[調整的時區PHP和日期時間/ DateTimeZone]的可能重複(http://stackoverflow.com/questions/1445087/adjusting-time-zone-in-php-with-datetime-datetimezone) – 2011-02-01 06:09:54