I Zeitzone für eine Anwendung durch offset-from-UTC am Speicherung dieser Drop-Down mit:Was sind die "Standard" -Zeitzonenabkürzungen?
<select id="timezone" name="timezone" >
<option value="-12">[UTC - 12] Baker Island Time</option>
<option value="-11">[UTC - 11] Niue Time, Samoa Standard Time</option>
<option value="-10">[UTC - 10] Hawaii-Aleutian Standard Time, Cook Island Time</option>
<option value="-9.5">[UTC - 9:30] Marquesas Islands Time</option>
<option value="-9">[UTC - 9] Alaska Standard Time, Gambier Island Time</option>
<option value="-8">[UTC - 8] Pacific Standard Time</option>
<option value="-7">[UTC - 7] Mountain Standard Time</option>
<option value="-6">[UTC - 6] Central Standard Time</option>
<option value="-5">[UTC - 5] Eastern Standard Time</option>
<option value="-4.5">[UTC - 4:30] Venezuelan Standard Time</option>
<option value="-4">[UTC - 4] Atlantic Standard Time</option>
<option value="-3.5">[UTC - 3:30] Newfoundland Standard Time</option>
<option value="-3">[UTC - 3] Amazon Standard Time, Central Greenland Time</option>
<option value="-2">[UTC - 2] Fernando de Noronha Time, South Georgia & the South Sandwich Islands Time</option>
<option value="-1">[UTC - 1] Azores Standard Time, Cape Verde Time, Eastern Greenland Time</option>
<option value="0">[UTC] Western European Time, Greenwich Mean Time</option>
<option value="1">[UTC + 1] Central European Time, West African Time</option>
<option value="2">[UTC + 2] Eastern European Time, Central African Time</option>
<option value="3">[UTC + 3] Moscow Standard Time, Eastern African Time</option>
<option value="3.5">[UTC + 3:30] Iran Standard Time</option>
<option value="4">[UTC + 4] Gulf Standard Time, Samara Standard Time</option>
<option value="4.5">[UTC + 4:30] Afghanistan Time</option>
<option value="5">[UTC + 5] Pakistan Standard Time, Yekaterinburg Standard Time</option>
<option value="5.5">[UTC + 5:30] Indian Standard Time, Sri Lanka Time</option>
<option value="5.75">[UTC + 5:45] Nepal Time</option>
<option value="6">[UTC + 6] Bangladesh Time, Bhutan Time, Novosibirsk Standard Time</option>
<option value="6.5">[UTC + 6:30] Cocos Islands Time, Myanmar Time</option>
<option value="7">[UTC + 7] Indochina Time, Krasnoyarsk Standard Time</option>
<option value="8">[UTC + 8] Chinese Standard Time, Australian Western Standard Time, Irkutsk Standard Time</option>
<option value="8.75">[UTC + 8:45] Southeastern Western Australia Standard Time</option>
<option value="9">[UTC + 9] Japan Standard Time, Korea Standard Time, Chita Standard Time</option>
<option value="9.5">[UTC + 9:30] Australian Central Standard Time</option>
<option value="10">[UTC + 10] Australian Eastern Standard Time, Vladivostok Standard Time</option>
<option value="10.5">[UTC + 10:30] Lord Howe Standard Time</option>
<option value="11">[UTC + 11] Solomon Island Time, Magadan Standard Time</option>
<option value="11.5">[UTC + 11:30] Norfolk Island Time</option>
<option value="12">[UTC + 12] New Zealand Time, Fiji Time, Kamchatka Standard Time</option>
<option value="12.75">[UTC + 12:45] Chatham Islands Time</option>
<option value="13">[UTC + 13] Tonga Time, Phoenix Islands Time</option>
<option value="14">[UTC + 14] Line Island Time</option>
PHP, ich wirklich nicht die einfachsten Möglichkeiten haben diese Abkürzungen zu Zeitzone zu konvertieren, meine einzige Option programmatisch wäre es, eine Liste von etwa 400 Zeitzonenabkürzungen zu sortieren. Kennt jemand die Liste, die mit diesem Drop-Down dessen verbunden ist, was jeder der Zeitzonen ist und was sie sind, wenn die Sommerzeit läuft? (Ich nehme an, dass ich beide Listen manuell definieren muss)
EDIT: analysierte diese Liste zu einer einzelnen Abkürzung für jede Zeitzone, aber sie sind nicht die "populären".
Meine neue Liste
[-12] => kwat
[-11] => bst
[-10] => ahst
[-9.5] => ckhst
[-9] => ahdt
[-8] => akdt
[-7] => east
[-6] => cst
[-5] => act
[-4.5] => ant
[-4] => acst
[-3.5] => negt
[-3] => adt
[-2] => addt
[-1] => azost
[-0] => azomt
[1] => bst
[2] => bdst
[3] => amt
[3.5] => irst
[4] => adt
[4.5] => aft
[5] => aktt
[5.5] => ist
[5.75] => npt
[6] => aktst
[6.5] => burt
[7] => almst
[8] => bnt
[8.75] => cwst
[9] => cdt
[9.5] => cast
[10] => chost
[10.5] => cst
[11] => anat
[11.5] => lhst
[12] => anast
[12.75] => chast
[13] => anast
[14] => anast
Code:
$abbr = DateTimeZone::listAbbreviations();
$offsets=array('-12','-11','-10','-9.5','-9','-8','-7','-6',
'-5','-4.5','-4','-3.5','-3','-2','-1','-0','1','2','3','3.5',
'4','4.5','5','5.5','5.75','6','6.5','7','8','8.75','9','9.5',
'10','10.5','11','11.5','12','12.75','13','14');
$new = array();
$count = 0;
$found = false;
while($count < count($offsets))
{
foreach($abbr as $k => $v)
{
foreach($v as $tz)
{
if($tz['offset'] == $offsets[$count]*3600)
{
$new[$offsets[$count]] = $k;
$found = true;
break;
}
}
if($found)
{
$found = false;
break;
}
}
$count++;
}
print_r($new);
Werfen Sie einen Blick auf [DateTimeZone :: listAbbreviations] (http://www.php.net/manual/en/datetimezone.listabcuriarations.php). Die gewünschte Information ist wahrscheinlich dort oder in einer der neueren Methoden. –
Das ist die Liste von 400 Abkürzungen, die ich nicht jede Seitenladung analysieren kann. Ich brauche nur diese 24, ich nehme an, irgendwo gibt es eine gemeinsame Liste, die ich gerade nicht finden konnte. Dieses spezielle Dropdown war sogar schwer zu finden, die anderen waren nicht so nett. :/ – ABlankenship
Sie können Ihre Liste programmatisch erstellen und im Server-Dateisystem speichern. Wenn Sie es brauchen, überprüfen Sie sein Alter und bauen Sie es um, wenn es älter ist als, sagen wir, 24 Stunden. Dann schließe es ein/brauche es auf die normale Weise. Es ist nicht die Liste, nach der Sie fragen, aber es bedeutet, dass Sie die gesamte Liste nur einmal pro Tag analysieren. –