01/10/2018, 16:57

Tạo dropdown timezone PHP

Trước mình làm rất là củ chuối, mình phải khai báo một mảng dài dài chứa tất cả các timezone. Nhưng thật là may mắn là từ version (PHP 5> = 5.2.0) đã cung cấp timezone_identifiers_list () . Từ đó bạn có thể tạo dropdown timezone một cách dễ dàng. function timezone_list() { $zones_array = ...

Trước mình làm rất là củ chuối, mình phải khai báo một mảng dài dài chứa tất cả các timezone. Nhưng thật là may mắn là từ version (PHP 5> = 5.2.0) đã cung cấp timezone_identifiers_list (). Từ đó bạn có thể tạo dropdown timezone một cách dễ dàng.

function timezone_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 trên trả về mảng với tất cả múi giờ và timezone GMT. Bây giờ công việc của mình là chỉ càn loop qua và xuất ra HTML thôi.

<select class="form-control" style="awidth: 300px;">
    <option value="0">Lựa chọn timezone</option>
    <?php foreach(timezone_list() as $t) { ?>
    <option value="<?php print $t['zone'] ?>"><?php print $t['diff_from_GMT'] . ' - ' . $t['zone'] ?></option>
    <?php } ?>
</select>

Tổng kết.

Chỉ bằng vài một dòng code đơn giản thì bạn sẽ làm được một dropdown cho phép người dùng lựa chọn múi giờ. Hy vọng với bài viết nhỏ này sẽ hữu ích và tối giản những dòng code phức tạp.

Tham khảo thêm.

  • timezone_identifiers_list (PHP 5 >= 5.2.0)
0