$enabledLangs[$locale]]; }, glob(base_path('resources/lang').'/*')); $langs = call_user_func_array('array_merge', $langs); $regions = [ 'Africa' => DateTimeZone::AFRICA, 'America' => DateTimeZone::AMERICA, 'Antarctica' => DateTimeZone::ANTARCTICA, 'Asia' => DateTimeZone::ASIA, 'Atlantic' => DateTimeZone::ATLANTIC, 'Australia' => DateTimeZone::AUSTRALIA, 'Europe' => DateTimeZone::EUROPE, 'Indian' => DateTimeZone::INDIAN, 'Pacific' => DateTimeZone::PACIFIC, 'UTC' => DateTimeZone::UTC, ]; $timezones = []; foreach ($regions as $name => $mask) { $zones = DateTimeZone::listIdentifiers($mask); foreach ($zones as $timezone) { // Lets sample the time there right now $time = new DateTime(null, new DateTimeZone($timezone)); $ampm = $time->format('H') > 12 ? ' ('.$time->format('g:i a').')' : ''; // Remove region name and add a sample time $timezones[$name][$timezone] = substr($timezone, strlen($name) + 1).' - '.$time->format('H:i').$ampm; $timezones[$name] = str_replace('_', ' ', $timezones[$name]); } } $view->withTimezones($timezones); $view->withLangs($langs); } }