Advertisement
Guest User

Untitled

a guest
Jul 26th, 2016
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.24 KB | None | 0 0
  1. <?php
  2. $regions = array(
  3. 'Africa' => DateTimeZone::AFRICA,
  4. 'America' => DateTimeZone::AMERICA,
  5. 'Antarctica' => DateTimeZone::ANTARCTICA,
  6. 'Aisa' => DateTimeZone::ASIA,
  7. 'Atlantic' => DateTimeZone::ATLANTIC,
  8. 'Europe' => DateTimeZone::EUROPE,
  9. 'Indian' => DateTimeZone::INDIAN,
  10. 'Pacific' => DateTimeZone::PACIFIC
  11. );
  12.  
  13. $timezones = array();
  14. foreach ($regions as $name => $mask)
  15. {
  16. $zones = DateTimeZone::listIdentifiers($mask);
  17. foreach($zones as $timezone)
  18. {
  19. // Lets sample the time there right now
  20. $time = new DateTime(NULL, new DateTimeZone($timezone));
  21.  
  22. // Us dumb Americans can't handle millitary time
  23. $ampm = $time->format('H') > 12 ? ' ('. $time->format('g:i a'). ')' : '';
  24.  
  25. // Remove region name and add a sample time
  26. $timezones[$name][$timezone] = substr($timezone, strlen($name) + 1) . ' - ' . $time->format('H:i') . $ampm;
  27. }
  28. }
  29.  
  30.  
  31. // View
  32.  
  33.  
  34. print '<label>Select Your Timezone</label><select id="timezone">';
  35. foreach($timezones as $region => $list)
  36. {
  37. print '<optgroup label="' . $region . '">' . "\n";
  38. foreach($list as $timezone => $name)
  39. {
  40. $name = str_replace("_"," ",$name);
  41. print '<option name="' . $timezone . '">' . $name . '</option>' . "\n";
  42. }
  43. print '<optgroup>' . "\n";
  44. }
  45. print '</select>';
  46. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement