Hướng dẫn php timezone utc
If by client, you mean browser, then you first need to send the timezone name to PHP from the browser, then do the conversion as described below. Show AnswerConvert the UTC datetime to America/Denver
This works with dates after 2032, daylight savings and leap seconds and does not depend on the host machine locale or timezone. It uses the timezonedb to do the calculation, this db changes over time as timezone rules change and has to be kept up to date. (see notes at the bottom) To convert the UTC date to the server (local) time, you can use
Answer 2I recommend using
Immutability allows you to use chaining multiple times without changing the value of
Notes
to change a time in a timezone
here you can see all the available timezones https://en.wikipedia.org/wiki/List_of_tz_database_time_zones here are all the formatting options http://php.net/manual/en/function.date.php Update PHP timezone DB (in linux)
Because of daylight savings, some dates repeat in some timezones, for example, in the United States, March 13, 2011 2:15am never occurred, while November 6, 2011 1:15am occurred twice. These datetimes can't be accurately determined. Mình không nói nhiều về tầm quan trọng của việc sử dụng thời gian trong PHP, nó là điều bắt buộc rồi, liên quan đến quản lý cơ sở dữ liệu nữa. Trong bài này chỉ là giới thiệu các hàm liên quan đến thời gian trong PHP và cách sử dụng chúng: 1) date_default_timezone_set(“Asia/Ho_Chi_Minh”); xác định múi giờ cho khu vực, mình đang ở Châu Á và ở Việt Nam- Hồ Chí Minh nên sẽ có timezone là Asia/Ho_Chi_Minh, mỗi khu vực sẽ chênh lệch nhau thời gian nên các bạn phải chú ý khi website có liên quan đến nước ngoài. Ví dụ: date_default_timezone_set("Asia/Ho_Chi_Minh"); echo "VietNam: ".date("Y-m-d H:i:s"). " Như ta thấy trên với timezone là Việt Nam chúng ta sẽ có thời gian chậm hơn Nhật Bản là 2 giờ: Về múi giờ các bạn có thể tham khảo thêm tại: http://php.net/manual/en/timezones.php Định nghĩa: timestamp là một số nguyên biểu thị cho số giây tính từ thởi điểm UNIX Epoch ( 0h0p0s 1-1-1970)cho đến thời điểm hiện tại(số này chính là số giây) 2) time(): là cách đơn giản nhất để lấy thông tin về ngày giờ hiện tại. Nó không có tham số và trả ra kiểu timestamp Ví dụ: Lấy ngày giờ hiện tại là //trả ra có dạng như echo time(),' 3) checkdate(int $month, int $day, int $year) : kiểm tra tính hợp lệ của một chuỗi ngày tháng năm với (PHP 4, PHP 5, PHP 7) trả về true nếu chuỗi hợp lệ, còn false là không hợp lệ var_dump(checkdate(12, 31, 2015)); var_dump(checkdate(2, 29, 2015)); //kết quả bool true bool false 4) date ( string $format [, int $timestamp = time() ] ): trả ra chuỗi theo định dạng mà chúng ta chỉ định trong $format, có thể chạy tốt trên (PHP 4, PHP 5, PHP 7)
Ví dụ: echo date("Y-m-d"),' Chúng ta có thể sử dụng
các ký tự để ngăn cách ngày tháng năm…như là “/” hoặc “:” hoặc “-” hoặc ” ” mktime ([ int $hour = date(“H”) [, int $minute = date(“i”) [, int $second = date(“s”) [, int $month = date(“n”) [, int $day = date(“j”) [, int $year = date(“Y”) [, int $is_dst = -1 ]]]]]]] ) Ví dụ: chúng ta thử tạo một timestamp từ 7h 30m 02s 18-05-2016 //7h 30m 02s 18-05-2016 $time = mktime(7,30,2,5,18,2016); //$time là timestamp, sử dụng nó trong hàm date() echo date("Y-m-d H:i:s",$time),' 6) strtotime(): tạo ra timestamp từ một chuỗi, trường hợp này được sử dụng nhiều khi lấy dữ liệu từ MySQL với định dạng là datetime(PHP 4, PHP 5, PHP 7) $time = strtotime("2016-10-21 10:11:10"); echo date("Y-m-d h:i:s",$time)." Có thể sử dụng hàm này để cộng thời gian như các ví dụ sau: //thời gian hiện tại echo date("Y-m-d H:i:s"). " 7) getdate(): Lấy thông tin ngày giờ dạng mảng(PHP 4, PHP 5, PHP 7) getdate ([ int $timestamp = time() ] ): với các khóa như sau
Chúng ta prin_r hàm này sẽ thấy đươc khóa và giá trị echo ""; $today = getdate(); print_r($today); echo ""; //Kết quả Array ( [seconds] => 57 [minutes] => 48 [hours] => 14 [mday] => 19 [wday] => 2 [mon] => 7 [year] => 2016 [yday] => 200 [weekday] => Tuesday [month] => July [0] => 1468914537 ) Còn tiếp…. Tổng hợp các ký tự tắt về định dạng ngày tháng năm, thời gian: Time:
Day:
Week: (W) tuần thứ mấy trong năm kiểu số Month:
Year:
=> Còn rất nhiều hàm khác nữa, mình sẽ tiếp tục cập nhật thêm… [thongbao]
[/thongbao] Tagged on: PHP |