Delicious Bookmark this on Delicious Share on Facebook SlashdotSlashdot It! Digg! Digg



PHP : Function Reference : Date and Time Functions : timezone_identifiers_list

timezone_identifiers_list

Returns numerically index array with all timezone identifiers (PHP 5 >= 5.1.0)
array timezone_identifiers_list ( )
array DateTimeZone::listIdentifiers ( )

Example 467. A timezone_identifiers_list() example

<?php
$timezone_identifiers
= DateTimeZone::listIdentifiers();
for (
$i=0; $i < 5; $i++) {
   echo
"$timezone_identifiers[$i]\n";
}
?>

The above example will output something similar to:

Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmera

Code Examples / Notes » timezone_identifiers_list

spam1

Hi!
Since many are going to use these timezones for saving their users' timezones, I wrote a little something that builds the select-field for this purpose and removes the "Others" that are not supposed to be used.
Note that <optgroup> is not widely supported and causes a bug in Opera 6.
I know this is easy to do, but you need to examine the timezones first (for example to remember that Istanbul is in the category for two continents - of course).
<select name="timezonechoice" size="10"><?php
function timezonechoice($selectedzone) {
$all = timezone_identifiers_list();
$i = 0;
foreach($all AS $zone) {
$zone = explode('/',$zone);
$zonen[$i]['continent'] = $zone[0];
$zonen[$i]['city'] = $zone[1];
$i++;
}
asort($zonen);
foreach($zonen AS $zone) {
extract($zone);
if($continent == 'Africa' OR $continent == 'America' OR $continent == 'Antarctica' OR $continent == 'Arctic' OR $continent == 'Asia' OR $continent == 'Atlantic' OR $continent == 'Australia' OR $continent == 'Europe' OR $continent == 'Indian' OR $continent == 'Pacific') {
if(!isset($letztercontinent)) $structure .= '
<optgroup label="'.$continent.'">'; // continent
elseif($letztercontinent!=$continent) $structure .= '</optgroup>
<optgroup label="'.$continent.'">'; // continent
if($city!='') $structure .= "
<option ".((($continent.'/'.$city)==$selectedzone)?'selected="selected "':'')." value=\"".($continent.'/'.$city)."\">".str_replace('_',' ',$city)."</option>"; //Timezone
else $structure .= "
<option ".(($continent==$selectedzone)?'selected="selected "':'')." value=\"".$continent."\">".$continent."</option>"; //Timezone
$letztercontinent = $continent;
}
}
$structure .= '
</optgroup>';
return $structure;
}
echo timezonechoice('Europe/Berlin');
?></select>
Hope this saves someone some effort.


Change Language


Follow Navioo On Twitter
checkdate
date_create
date_date_set
date_default_timezone_get
date_default_timezone_set
date_format
date_isodate_set
date_modify
date_offset_get
date_parse
date_sun_info
date_sunrise
date_sunset
date_time_set
date_timezone_get
date_timezone_set
date
getdate
gettimeofday
gmdate
gmmktime
gmstrftime
idate
localtime
microtime
mktime
strftime
strptime
strtotime
time
timezone_abbreviations_list
timezone_identifiers_list
timezone_name_from_abbr
timezone_name_get
timezone_offset_get
timezone_open
timezone_transitions_get
eXTReMe Tracker