Hướng dẫn dùng php date_default_timezone_set trong PHP

Hàm date_default_timezone_set() sẽ đặt giá trị timezone mặc định cho hệ thống, tất cả các hàm về xử lí thời gian sẽ sử dụng timezone này.

Hướng dẫn dùng php date_default_timezone_set trong PHP

Hướng dẫn dùng php date_default_timezone_set trong PHP

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Cú pháp

Cú phápdate_default_timezone_set( $timezone);

Trong đó

  • $timezone là chuỗi quy định timezone. bạn có thể tham khảo tại đây.

Kết quả trả về

Hàm sẽ trả về TRUE nếu $timezone truyền vào hợp lê và trả về FALSE nếu ngược lại.

Bài viết này được đăng tại [free tuts .net]

Ví dụ

Cách sử dụng hàm date_default_timezone_set():

Code

$timezone = date_default_timezone_get();
$date = date_create();
echo "
";
	print_r($date);
echo "
"; date_default_timezone_set('Asia/Dubai'); $date = date_create(); echo "
";
	print_r($date);
echo "
";

Kết quả

DateTime Object
(
    [date] => 2017-05-01 16:29:45.000000
    [timezone_type] => 3
    [timezone] => Asia/Ho_Chi_Minh
)
DateTime Object
(
    [date] => 2017-05-01 13:29:45.000000
    [timezone_type] => 3
    [timezone] => Asia/Dubai
)

Tham khảo: php.net

Đôi lúc các bạn xem các hướng dẫn về hàm lấy thời gian :date(format,timestamp).

Nếu chưa biết hàm date(format,timestamp) bạn có thể xem ở link:http://congnghe5s.com/bai-viet/xu-ly-ngay-gio-trong-php.html.

Bạn thực hiện test lệnh trên máy và kết quả không khớp với time hiện tại. Đó là vì lí do thời gian hay timezone trên server bạn đã cài đặt khác vì thế để trả về đúng time bạn muốn bạn có thể dùng hàm:

Cú pháp:date_default_timezone_set ( string $timezone_identifier ).

tham số : $timezone_identifier bạn lấy ở đây:http://php.net/manual/en/timezones.asia.php

phù hợp khu vực bạn muốn ví dụ mình muốn set lấy giờ việt nam mình làm như sau:

date_default_timezone_set('Asia/Ho_Chi_Minh').

Sau đó các bạn dùng hàm : echo date('d/m/Y - H:i:s');

ra đúng kết quả time ở Việt Nam.

Ví dụ:

date_default_timezone_set('Asia/Ho_Chi_Minh');

if (date_default_timezone_get()) {
    echo 'date_default_timezone_set: ' . date_default_timezone_get() . '
';
}
echo date('d/m/Y H:i:s');

Ví dụ trên có 1 hàm cũng khá quan trọng : date_default_timezone_get()  trả về timezone mặc định của server bạn đang chạy hoặc là đã được thiết lập thông qua date_default_timezone_set().

Qua bài viết hy vọng các bạn có thêm kiến thức khi xử lý ngày tháng trong PHP.

Hàm date_default_timezone_set() sẽ đặt giá trị timezone mặc định cho hệ thống, tất cả các hàm về xử lí thời gian sẽ sử dụng timezone này.

Cú pháp

Cú phápdate_default_timezone_set( $timezone);

Trong đó

  • $timezone là chuỗi quy định timezone. bạn có thể tham khảo tại đây.

Kết quả trả về

Hàm sẽ trả về TRUE nếu $timezone truyền vào hợp lê và trả về FALSE nếu ngược lại.

Ví dụ

Cách sử dụng hàm date_default_timezone_set():

Code

$timezone = date_default_timezone_get();
$date = date_create();
echo "
";
	print_r($date);
echo "
"; date_default_timezone_set('Asia/Dubai'); $date = date_create(); echo "
";
	print_r($date);
echo "
";

Kết quả

DateTime Object
(
    [date] => 2017-05-01 16:29:45.000000
    [timezone_type] => 3
    [timezone] => Asia/Ho_Chi_Minh
)
DateTime Object
(
    [date] => 2017-05-01 13:29:45.000000
    [timezone_type] => 3
    [timezone] => Asia/Dubai
)

Tham khảo: php.net

Đôi lúc các bạn xem các hướng dẫn về hàm lấy thời gian :date(format,timestamp).

Nếu chưa biết hàm date(format,timestamp) bạn có thể xem ở link:http://congnghe5s.com/bai-viet/xu-ly-ngay-gio-trong-php.html.

Bạn thực hiện test lệnh trên máy và kết quả không khớp với time hiện tại. Đó là vì lí do thời gian hay timezone trên server bạn đã cài đặt khác vì thế để trả về đúng time bạn muốn bạn có thể dùng hàm:

Cú pháp:date_default_timezone_set ( string $timezone_identifier ).

tham số : $timezone_identifier bạn lấy ở đây:http://php.net/manual/en/timezones.asia.php

phù hợp khu vực bạn muốn ví dụ mình muốn set lấy giờ việt nam mình làm như sau:

date_default_timezone_set('Asia/Ho_Chi_Minh').

Sau đó các bạn dùng hàm : echo date('d/m/Y - H:i:s');

ra đúng kết quả time ở Việt Nam.

Ví dụ:

date_default_timezone_set('Asia/Ho_Chi_Minh');

if (date_default_timezone_get()) {
    echo 'date_default_timezone_set: ' . date_default_timezone_get() . '
';
}
echo date('d/m/Y H:i:s');

Ví dụ trên có 1 hàm cũng khá quan trọng : date_default_timezone_get()  trả về timezone mặc định của server bạn đang chạy hoặc là đã được thiết lập thông qua date_default_timezone_set().

Qua bài viết hy vọng các bạn có thêm kiến thức khi xử lý ngày tháng trong PHP.