[英]How to get the physical server timezone offset (not from php.ini or IP)?
如何獲得物理機位置的時區偏移量 ,而不是php.ini報告的時區(當然也不能通過geoIP報告)?
從php.ini或腳本中,我們可以輕松設置默認時區。 例如,在我的盒子上
]
在PHP中,
if (date_default_timezone_get()) {
echo 'date_default_timezone_set: ' . date_default_timezone_get() . '<br />';
}
if (ini_get('date.timezone')) {
echo 'date.timezone: ' . ini_get('date.timezone');
}
date_default_timezone_set:亞洲/東京
date.timezone:亞洲/東京
但是,物理服務器位於Mountain Time,訪問日志中包含時區偏移字符串-0700。
解決:使用exec()
我們可以獲得系統時間和當前時區偏移量 。 這正是所需要的。 感謝@codisfy的啟發。
echo shell_exec('date +\'%:z\'');
-07:00
編輯:這個問題( PHP 5.4不能自行確定時區 )是關於獲取時區名稱的 ,但重要的是時區偏移量 。 感謝您指出可能的重復社區,community,這是一個不同的要求。
從注釋到答案:您可以使用shell_exec()獲得系統時間。 使用它可以像在shell上一樣運行命令並返回輸出。
所以做這樣的事情可以幫助:
shell_exec('date +\\'%Z\\'');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.