How to find GMT date/time by country name?

后端 未结 4 1986
既然无缘
既然无缘 2020-12-14 04:03

How can I find country name -> GMT date/time to that I can do like following:

Example:

$datetime = new GMT_search(\'America\');  //output: 2010-01-01         


        
4条回答
  •  执念已碎
    2020-12-14 04:12

    You can search the timezones by country with DateTimeZone::listIdentifiers.

    Example, to get the timezones in Portugal:

    print_r(DateTimeZone::listIdentifiers(DateTimeZone::PER_COUNTRY, "PT"));
    

    gives:

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

    You can then do:

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

    As has been repeated over and over again in this thread, you can't get one single time zone per country. Countries have several timezones, and you'll notice that even this page doesn't even select one arbitrarily for some countries like the U.S.A.

提交回复
热议问题