Tạo danh sách Time Zones với PHP

11/04/2014

tao-danh-sach-time-zones-voi-php

Thỉnh thoảng, bạn sẽ cần liệt kê danh sách time zone có sẵn cho phép người dùng lựa chọn time zone tại quốc gia hay thành phố mà họ đang sinh sống. May mắn là PHP hỗ trợ hàm timezone_identifiers_list (PHP 5 >= 5.2.0) cho phép chúng ta tạo danh sách các time zone này một cách dễ dàng như sau :

<?php
/**
 * Timezones list with GMT offset
 *
 * @return array
 */
function tz_list() {
  $zones_array = array();
  $timestamp = time();
  foreach(timezone_identifiers_list() as $key => $zone) {
    date_default_timezone_set($zone);
    $zones_array[$key]['zone'] = $zone;
    $zones_array[$key]['diff_from_GMT'] = 'UTC/GMT ' . date('P', $timestamp);
  }
  return $zones_array;
}
?>

Hàm bên trên sẽ trả về một mảng với tất cả time zone và GMT offset, và để tạo danh sách, các bạn dùng tiếp đoạn code sau :

<div style="margin-top: 20px;">
  <select style="font-family: 'Courier New', Courier, monospace; width: 450px;">
    <option value="0">Please, select timezone</option>
    <?php foreach(tz_list() as $t) { ?>
      <option value="<?php print $t['zone'] ?>">
        <?php print $t['diff_from_GMT'] . ' - ' . $t['zone'] ?>
      </option>
    <?php } ?>
  </select>
</div>

Mình hy vọng với đoạn code mà mình chia sẻ trong bài viết này, sẽ giúp các bạn có thêm một chức năng cho website hay blog của mình.

Chuyên Mục:

Bài viết được đăng bởi webmaster

Nếu các bạn thấy bài viết hữu ích thì giúp mình Like cái nhé !