Разработка сайтов на WordPress и фреймворке Yii2

Здесь вы можете заказать полный пакет услуг по разработке сайта. Начиная от написания ТЗ до программирования на PHP, JavaScript и верстке.

Как получить время всех таймзон (timezone) на PHP

Программирование на PHP

Для того что бы получить массив списка всех тайм зон с временной разницей по Гринвичу, используйте следующую функцию:

function get_time_timezones()
{
	$zones_array = array();
	$timestamp = time();
	
	$default_timezone = date_default_timezone_get();
	$timezone_list = timezone_identifiers_list();
	
	foreach ($timezone_list as $zone)
	{
		date_default_timezone_set($zone);
		$zones_array[$zone] = date('P', $timestamp);
	}
	
	date_default_timezone_set($default_timezone);
	
	return $zones_array;
}

Что мы здесь имеем:
$zones_array — наш будущий массив таймзон с метками времени
$timestamp — текущее время в timestamp
$default_timezone — текущая таймзона
$timezone_list — список таймзон
Далее, мы в цикле проходим по списку таймзон устанавливая каждую как текущую для нашего сайта:

foreach ($timezone_list as $zone)
{
	date_default_timezone_set($zone);
	$zones_array[$zone] = date('P', $timestamp);
}

И используя ф-ю «date()» с параметром «P», определяем разницу времени по гринвичу
Ну а в самом конце, устанавливаем нашу «родную» временную зону:

date_default_timezone_set($default_timezone);

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *