PHP:使用时区

时间:2017-06-06 10:48:11

标签: php timezone locale

我正在使用时区根据他的时区获取用户的确切时间。我有一个下拉列表,为用户选择时区,并在选择时区时显示当前时间。我正在使用的代码是:

$timezone = 'America/New_York';
date_default_timezone_set($timezone);
echo date('H:i:s A');

工作正常。我希望使用时区来获取该用户的语言环境,就像我获得该时区的当前时间一样。

如何使用时区实现当前区域设置? PHP是否有任何解决方案来使用时区获取当前区域设置?

1 个答案:

答案 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