如何按国家/地区名称查找GMT日期/时间?

13 php datetime localization

我如何才能找到国家名称 - > GMT日期/时间,我可以这样做以下:

例:

$datetime = new GMT_search('America');  //output: 2010-01-01 00:00:00    
$datetime = new GMT_search('India');  //output: 2010-01-01 ??:??:??    
$datetime = new GMT_search('China');  //output: 2010-01-01 ??:??:??
Run Code Online (Sandbox Code Playgroud)

我想gmdate(),date_default_timezone_set('Asia/....');ini_set('date.timezone','China');,但它不完全帮助我找到轻松的国家名称GMT日期/时间.

任何人都可以请给我一个PHP示例,它真的有用吗?

谢谢

Art*_*cto 34

您可以按国家/地区搜索时区DateTimeZone::listIdentifiers.

例如,在葡萄牙获得时区:

print_r(DateTimeZone::listIdentifiers(DateTimeZone::PER_COUNTRY, "PT"));
Run Code Online (Sandbox Code Playgroud)

得到:

Array
(
    [0] => Atlantic/Azores
    [1] => Atlantic/Madeira
    [2] => Europe/Lisbon
)

然后你可以这样做:

$d = new DateTime("now", new DateTimeZone("Atlantic/Azores"));
echo $d->format(DateTime::W3C); //2010-08-14T15:22:22+00:00
Run Code Online (Sandbox Code Playgroud)

正如在这个帖子中一遍又一遍地重复一样,你不能为每个国家获得一个时区.国家有几个时区,你会注意到即使这个页面甚至没有任意选择一个像美国这样的国家

  • 谢谢,我试图找到国家/地区代码如何到达城市或时区.例如:print_r(DateTimeZone :: listIdentifiers(DateTimeZone :: PER_COUNTRY,"PT")); (2认同)
  • 你的代码示例的完美之处/美丽在这里:1.我现在将土地代码用于搜索任何2.我将检查数组长度并选择任何一个3.我有我的结果.再次感谢.. (2认同)