相對於當前(系統)時區,獲取PHP中UTC時間偏移的最簡單方法是什麼?UTC的抵消在PHP中
26
A
回答
59
date('Z');
返回UTC在幾秒鐘內偏移。
16
$this_tz_str = date_default_timezone_get();
$this_tz = new DateTimeZone($this_tz_str);
$now = new DateTime("now", $this_tz);
$offset = $this_tz->getOffset($now);
未經檢驗的,但應該工作
+0
有用的,如果您使用的是PHP 5 DateTime類,但我不是。 – 2008-10-11 01:36:40
-2
date("Z")
將返回相對於服務器時區而不是用戶機器時區的UTC偏移量。要獲得用戶的機器時區,您可以使用javascript getTimezoneOffset()
函數,該函數返回UTC時間與當地時間之間的時差,以分鐘爲單位。
<script type="text/javascript">
d = new Date();
window.location.href = "page.php?offset=" + d.getTimezoneOffset();
</script>
而且在page.php
持有你的PHP代碼,你可以做你想做與偏移值什麼的。或者不是重定向到另一個頁面,您可以根據您的需要通過Ajax將偏移值發送到您的php腳本。
10
我做了一個奧斯卡做了些微修改的版本。
date_default_timezone_set('America/New_York');
$utc_offset = date('Z')/3600;
這給了我從我的時區EST到UTC的偏移量,以小時爲單位。
$ utc_offset的值爲-4。
11
echo date('P'); //將輸出的東西+02:00或-04:00
1
這是相同的JavaScript date.getTimezoneOffset()
功能:
<?php
echo round(date('Z')/-60,2);
?>
相關問題
- 1. 在WP7中獲取UTC抵消
- 2. 查找UTC抵消給定城市
- 3. TimeZone要在PHP中抵消的位置
- 4. 未定義抵消PHP
- 5. PHP $ _SESSION未定義,抵消
- 6. 未定義抵消:在$行錯誤[] PHP
- 7. 抵消scrollTop的
- 8. 轉換UTC時間和抵消日期時間
- 9. 的UITableView:抵消selectedBackgroundView
- 10. UIGestureRecognizer抵消的TargetView
- 11. datepicker.iso8601Week抵消
- 12. 未定義抵消:0與PHP數組
- 13. PHP:未定義抵消:3 - preg_match_all
- 14. xgboost,抵消風險?
- 15. 抵消了統一
- 16. 非法抵消laravel
- 17. 什麼是抵消?
- 18. mysql - 抵消問題
- 19. 開芝麻抵消
- 20. 抵消現有的風格
- 21. 未定義的抵消通知消息
- 22. 如何抵消System.Windows.Forms.DataVisualization.Charting.Chart中的標籤?
- 23. UITapGestureRecognizer抵消didSelectRowAtIndexPath方法中的UITableViewController
- 24. 來抵消backgorund中的圖像
- 25. 注意:Undefined抵消:2
- 26. 未定義抵消:133
- 27. 日曆抵消問題
- 28. Matplotlib .fill_between()抵消-1 -1
- 29. ReactiveX自抵消定時器
- 30. 計算抵消頭寸
謝謝。不幸的是,PHP要求你調用date_default_timezone_set()。如果將其設置爲GMT,則來自數據庫的日期仍將在本地時間,但日期('Z')將返回零。如果您將其設置爲服務器的時區,那麼您可以在包含文件中硬編碼服務器與GMT的偏移量。不可思議的是,沒有簡單的方法來做到這一點。編輯:我發現你可以做date_default_timezone_set(date_default_timezone_get())。如何asinine! – Oscar 2012-07-31 21:25:06
日期('Z')以秒爲單位返回GMT偏移量 – Dahomz 2017-05-02 12:29:30
返回0. – Adry 2018-02-21 17:14:09