使用 PHP 获取特定时间的时区



我想知道是否有办法使用 PHP 生成特定时间的所有当前时区的列表?

例如,具有当前时间的所有全球位置 09:00 .

PHP 也会自动考虑夏令时吗?

我在这里或其他网站上遇到的任何东西要么是倒计时,要么是每个时区显示的。我只希望代码在设定的时间吐出这些代码,而忽略其他代码,直到它在那里说出来。

你可以尝试这样的事情

  1. 创建表示当前时刻的DateTime实例
  2. 遍历 PHP 知道的所有时区
  3. 筛选列表中哪些时区是当前格式化时间符合您的条件

假设您希望当前时间为上午 9 点的所有区域(因此在 09:00 和 09:59 之间的任何时间

$now = new DateTime();
$searchHour = 9;
$zones = array_filter(DateTimeZone::listIdentifiers(), function($tz) use ($now, $searchHour) {
    return $now->setTimezone(new DateTimeZone($tz))->format('G') == $searchHour;
});

演示 ~ https://eval.in/889126


如果要获取不带其国家/地区前缀的区域标识符列表,请尝试以下操作...

$shortZones = array_map(function($tz) {
    // Turn "_" to " " and return the last part after "/"
    return str_replace('_', ' ', substr(strstr($tz, '/'), 1));
}, $zones);

相关内容

  • 没有找到相关文章

最新更新