我正在使用时区根据他的时区获取用户的确切时间。我有一个下拉列表,为用户选择时区,并在选择时区时显示当前时间。我正在使用的代码是:
$timezone = 'America/New_York';
date_default_timezone_set($timezone);
echo date('H:i:s A');
工作正常。我希望使用时区来获取该用户的语言环境,就像我获得该时区的当前时间一样。
如何使用时区实现当前区域设置? PHP是否有任何解决方案来使用时区获取当前区域设置?
答案 0 :(得分:0)
区域设置和时区是正交的。你无法确定另一个。
America/New_York
表示用户的本地时间与纽约市对齐,在纽约恰好在美国被称为“东部时间”,在标准时间和4小时后比UTC低5小时当夏令时生效时,UTC后面。
en-US
(或en_US
)表示用户说英语,包括美国的文化方言(单词选择,数字,日期等)。例如,en-US
使用MM / DD / YYYY日期格式,而en-GB
使用DD / MM / YYYY日期格式,但我们都将第一个月称为“1月”,而es-MX
则调用他们的第一个月“enero”。
我很可能是一个会说英语的美国人访问日本,因此我的时区将是Asia/Tokyo
,即使我的当地人仍然是en-US
。
除此之外:连字符(-
)是在区域设置标识符中拆分语言和国家/地区代码的正确字符。虽然有些实现已经用IETF语言标记规范替换了下划线(_
),this is not correct。