TimeZone là thời gian từng vùng trên Trái Đất được các nhà khoa học quy ước sử dụng như 1 định dạng thời gian chuẩn cho toàn cầu. Mỗi vùng trên Trái Đất sẽ có 1 múi giờ/TimeZone/Giờ địa phương khác nhau. Hiện tại có 2 múi giờ tiêu biểu là GMT và UTC GMT: ra đời vào thế kỷ 19 tại nước Anh UTC: là thời gian định dạng của nhà mạng internet/máy tính thường sử dụng. Giờ UTC được xây dựng thông qua phương pháp nguyên tử nên độ chính xác rất cao và ngày càng được áp dụng nhiều. 1. KIỂM TRA THỜI GIAN TRÊN VPS và Cài đặt TimeZone Bước 1: Truy cập vào VPS dùng lệnh date để kiểm tra: Mã: # date (Lệnh trên dùng để kiểm tra thời gian của VPS) Bước 2: Bạn dùng lệnh ls để tiền tới thư mục timezone của Asia (bỏ đi /Asia nếu bạn muốn xem khu vực cả Thế Giới) Mã: # ls /usr/share/zoneinfo/Asia (Lệnh trên dùng để xác định thư mục chưa timezone của bạn trên VPS nằm ở đâu và timezone của bạn đang ở vị trí nào) Bước 3: Cài đặt TimeZone Mã: # cp /usr/share/zoneinfo/Asia/Ho_Chi_Minh /etc/localtime (Lệnh trên dùng để cài đặt thời gian của VPS của bạn thành Ho_Chi_Minh tương đương với Việt Nam) Như vậy là bạn đã đổi xong TimeZone của VPS rồi nhé, dùng lệnh date để kiểm tra lại xem đúng chưa: # date. 2. Đổi TimeZone của PHP trong VPS TimeZone PHP: là thời gian để chạy xử lý code web lưu xuống database và xử lý thời gian khi view lên trình duyệt cho khách xem. Mặc định của các hosting khi bạn mua đã được chỉnh rùi, nhưng khi bạn mua VPS sẽ không được chỉnh từ đơn vị nhà cung cấp mà bạn phải tự chỉnh mới chính xác giờ được, Nếu không khi lưu bài viết rất hay bị sai giờ. Mặc định của VPS thời gian của hệ thống VPS và thời gian của PHP khác nhau, có nhiều khi lệch nhau rất nhiều về múi giờ, nên các bạn cần phải kiểm tra và đổi lại. Thời gian PHP trong VPS nằm trong file php.ini nên bạn phải tìm và đổi lại trong file này. Bước 1: Truy cập vào VPS và dùng lệnh tìm kiếm file php.ini như sau: Mã: # php -i | grep ini Lệnh trên dùng để tìm kiếm file php.ini là nơi lưu trữ TimeZone PHP Lưu ý: tùy vào mỗi VPS mà file này nằm ở 1 chỗ khác nhau ví dụ ở: /etc/php.ini như VPS của mình ở dưới hoặc ở 1 số VPS khác nằm ở /usr/local/etc/php5/cgi/php.ini (có khi VPS của bạn nằm ở chỗ khác) nên các bạn kiểm tra kỹ xem vào sửa cho đúng. Mở file /etc/php.ini như sau: Mã: # vi /etc/php.ini Cách 1: Tìm tới dòng [Date] sửa date.timezone lại thành: date.timezone = "Asia/Ho_Chi_Minh" Cách 2: Hoặc bạn thêm date_default_timezone_set('Asia/Ho_Chi_Minh'); vào dòng đầu tiên (Chọn 1 trong 2 cách nhé, ưu tiên cách 1) Làm xong lưu lại. Nếu không biết cách thêm/Lưu bằng lệnh Vi bạn đọc bài sau ở mục số 2 sẽ hiểu rõ xử cách xử lý thêm lưu bằng lệnh Vi Lưu ý: làm xong Reboot lại VPS bằng lệnh Mã: # /sbin/reboot Hoặc Mã: # /sbin/shutdown -r now 3. Đổi TimeZone trong hosting Lưu ý: chỉ 1 số hosting mới cho phép bạn đổi TimeZone này trong Hosting panel thôi, do họ ẩn đi, còn hầu hết để đổi bạn phải vào VPS để đổi, nên mình chỉ hướng dẫn các bạn cách đổi của Hosting Cpanel và Plesk. 3.1 Đổi Time Zone hosting Cpanel Bạn truy cập vào hosting chọn chọn Select PHP Version -> Swich To PHP Options -> date.timezone bạn đổi thành TimeZone bạn muốn. 3.2 Đổi Time Zone hosting Plesk Bạn vào trang quản trị Plesk của bạn tại Server Management chọn Tools & Settings Tại Tools & Settings bạn cài đặt thời gian tại Date and time và Time Zone ở mục Your time zone