Tạo dropdown timezone PHP

PHP & MySQL 01/04/2015 07:00 714
Đôi khi trong các dự án website có yêu cầu bạn phải tạo một dropdown cho phép người dùng chọn được múi giờ của họ. Hoặc cho phép người quản trị setup múi giờ hệ thống website sử dụng. Mình sẽ giới thiệu tới các bạn một cách khá là dễ dàng.

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="width: 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.

Xem Thêm

Profile photo of adminTheHalfHeart

B.V.T

Sinh ra và lớn nên ở Bắc Giang. Hiện tại thì tôi đang là một lập trình viên tại VietISO. Tôi lập website này với mục đích là bookmark những gì tôi đã đọc qua và mong muốn chia sẻ những gì tôi biết.