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