mktime()
để khởi tạo timestamp truyền vào constructor của MongoDate
là mktime()
sử dụng timezone mặc định trong php.ini
trong khi MongoDate
lại dùng timestamp theo GMT. Nếu default timezone trong php.ini
là Asia/Saigon
(GMT+7) thì đối tượng ISODate
được khởi tạo trong MongoDB
sẽ có thời gian bị lùi về 7h.Để giải quyết vấn đề này, sử dụng hàm
gmmktime()
để tạo timestamp theo giờ GMT.Lưu ý là, hàm
date()
cũng dùng default timezone mặc định của php.ini
. Để có thể chuyển timezone cho hàm date()
, dùng hàm date_default_timezone_set()
. Ví dụ:date_default_timezone_set('UTC'); // Set default timezone to GMT
No comments:
Post a Comment