Hướng dẫn dùng timezone code trong PHP
Vấn đề xử lý ngày tháng cực kì quan trọng khi bạn xử lý với các bài viết và đăng lên website. Ví dụ bạn cần in ra ngày tháng đăng bài viết hiển thị theo kiểu ngày / tháng / năm hoặc ngày - tháng -năm thì bắt buộc bạn phải biết cách sử dụng các hàm xử lý ngày tháng trong PHP thì mới làm được. Đó là vấn đề căn bản, vẫn còn nhiều vấn đề và tùy thuộc vào từng bài toán mà bạn sẽ có những hướng làm khác nhau. Show
Nội dung chính Show 1. Thiết lập time_zone tại Việt NamĐể thiết lập time_zone ta làm theo cú pháp:
Lệnh này sẽ ảnh hưởng tới tất cả các lệnh xử lý ngày tháng phía bên dưới nó nên để chắc chắn thì bạn nên để lệnh này ở đầu file của chương trình .Để thiết lập time_zone ở Việt Nam thì bạn sử dụng lệnh sau:
Để xem danh sách time zone thì bạn sử dụng đoạn code sau:
2. Định dạng ngày tháng với hàm date() trong PHPHàm date dùng để chuyển đổi thời gian theo format mà lập trình viên mong muốn, cú pháp như sau:
Trong đó:
Sau đây mình sẽ liệt kê một số định dạng hay sử dụng nhất.
Ví dụ: Lấy thời gian hiện tại theo định dạng ngày/tháng/năm - giờ:phút:giây
3. Xử lý ngày tháng nâng cao trong PHP
Để chuyển đổi thời gian sang kiểu INT thì ta sử dụng hàm 6:
Hàm 7 sẽ tính toán đưa ra ngày chính xác bởi các tham số truyền vào, cú pháp như sau: 1Lưu ý: Hàm này sẽ trả về thời gian kiểu INT nên bạn phải sử dụng hàm date() để chuyển đổi ra định dạng mong muốn. 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: Hôm nay Kỹ Thuật xin giới thiệu đến các bạn về timezone của PHP và cách chỉnh timezone trên VPS lẫn Hosting. Contents TIMEZONE LÀ GÌ?
CÁCH CHỈNH TIMEZONE TRÊN LINUXXác định giờ đang chạy trên LinuxĐể xác định giờ trên Linux, bạn hãy dùng lệnh date. Xác định thư mục chứa timezoneTrên Linux có một thư mục chứa thông tin cài đặt timezone nằm tại vị trí /usr/share/zoneinfo/ Xác định được múi giờ mình muốn đổi và copy file timezone đó đè về file /etc/localtime:
Kiểm tra lại với lệnh date để xem ngày giờ đã hiển thị đúng chưa. Đồng bộ giờ qua internet với các NTP serverTương tự như Window, Linux cũng cho phép đồng bộ giờ với các NTP server trên thế giới. Ta cần dùng phương pháp này khi mà đã chọn đúng timezone nhưng trước đó ta có dùng lệnh date để chỉnh giờ và hiển thị không đúng kết quả mong muốn. Trước tiên cần cài gói ntp, dùng lệnh yum:
Khởi động dịch vụ:
Chạy lệnh tiếp theo để đồng bộ giờ qua internet:
(Trong đó vn.pool.ntp.org là server để đồng bộ, muốn đồng bộ giờ đúng thì trước tiên phải chọn timezone đúng copy vào /etc/localtime) CÁCH CHỈNH TIMEZONE CHO PHP TẠI PHP.INITrước tiên cần tìm file php.ini trên máy chủ nằm ở đâu, gõ lệnh:
Mở file php.ini theo đường dẫn.
Thêm dòng lệnh vào đầu file và lưu lại:
(Với Asia/Ho_Chi_Minh là timezone muốn cài đặt, có thể tham khảo thêm các timezone khác tại đây: http://php.net/manual/en/timezones.php) CÁCH ĐỔI TIMEZONE TRONG CPANEL HOSTING 123HOSTĐăng nhập vào cpanel hosting 123host. Tìm đến phần Software > Select php version Chọn tiếp Switch To PHP Options Tại dòng date.timezone, ta nhập vào timezone muốn thay đổi (tên các timezone tương tự trong file php.ini) và nhấn Apply, sau đó nhấn Save để lưu lại. Để kiểm tra giờ đã đổi đúng chưa khi đổi trong file php.ini và trên cpanel hosting, ta sẽ tạo một file gettime.php đơn giản với nội dung: |