- date: documentation ( source)
- in_array: documentation ( source)
<?php
$countryName = false;
$tzList = array();
$tzList[54] = array('name' => 'Moscow, St. Petersburg, Volgograd', 'tz' => 'Europe/Moscow', 'country' => array('RU'));
$timeZoneDataId = array();
$timeZoneDataJs = array();
$timeZonesystemName = array();
$year = date('Y');
foreach ($tzList as $key => $tz)
{
$temp = array();
$dateTimeZone = new DateTimeZone($tz['tz']);
$dateTimeWinter = new DateTime($year . "-1-1", $dateTimeZone);
$dateTimeSummer = new DateTime($year . "-6-30", $dateTimeZone);
$dateNow = new DateTime("now", $dateTimeZone);
$temp['n'] = $tz['name'];
$temp['n'] = $key;
if ($countryName && in_array($countryName, $tz['country']))
{
$temp['c'] = 1;
}
$temp['o'] = $dateTimeZone->getOffset($dateNow) / 3600;
$summerOffset = $dateTimeZone->getOffset($dateTimeSummer);
$winterOffset = $dateTimeZone->getOffset($dateTimeWinter);
$nowOffset = $dateTimeZone->getOffset($dateNow);
$timeZoneDataId[$tz['tz']] = $key;
$timeZoneDataJs[$summerOffset][$winterOffset][] = $temp;
$timeZonesystemName[$key] = $tz['tz'];
//add info to tzList
$tzList[$key]['offsetNow'] = $nowOffset / 3600;
$tzList[$key]['id'] = $key;
}
echo $tzList[54]['offsetNow'];