Як отримати час усіх таймзон (timezone) на PHP

Як отримати час усіх таймзон (timezone) на 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);
Пости на схожі теми

З вашим WordPress сайтом проблеми? потрібний додатковий функціонал? нестандартний плагін чи згорнути нову сторінку?
Тоді напишіть мені через форму зворотного зв'язку, і я намагатимусь вам допомогти.

Напишіть коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *