Tôi có một ứng dụng sử dụng Zend_Date để hiển thị ngày tháng. Các cá thể Zend_Date được tạo bằng cách sử dụng dữ liệu datetime từ MySQL, đầu vào của người dùng và ngày hiện tại.Xử lý ngày tháng và múi giờ, với Zend_Date
Tôi muốn người dùng của mình có thể chỉ định múi giờ của họ và cho tất cả các ngày được hiển thị theo giờ địa phương của họ.
Tại thời điểm mã của tôi làm việc như thế này:
$date = '2009-01-01 10:30:00';
$date = new Zend_Date($date, Zend_Date::ISO_8601);
echo $date->get(Zend_Date::TIME_MEDIUM); //10:30:00
$date->setTimezone('Australia/ACT');
echo $date->get(Zend_Date::TIME_MEDIUM); //21:30:00
này hoạt động, nhưng đòi hỏi một cuộc gọi setTimezone trên mỗi ngày. Có cách nào dễ dàng hơn để quản lý múi giờ không?
Tôi cũng đã xem xét việc sử dụng SET time_zone với MySQL, để trả về dữ liệu đã điều chỉnh từ MySQL. Sau đó, tôi chỉ cần điều chỉnh ngày được tạo trong các tập lệnh PHP cho múi giờ.
Tôi muốn nghe cách tốt nhất để xử lý việc này, nếu ai đó có kinh nghiệm.
Cảm ơn
Cảm ơn. Dường như cách tốt nhất là để tôi đặt UTC làm mặc định, làm việc với UTC datetime nội bộ và sử dụng setTimezone để tạo múi giờ cụ thể theo múi giờ. –