5/06/2012

MongoDate và mktime trong PHP

Một vấn đề gặp phải khi sử dụng mktime() để khởi tạo timestamp truyền vào constructor của MongoDatemktime() 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.iniAsia/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

The 0/1 Knapsack Problem - Dynamic Programming

 References: https://www.youtube.com/watch?v=EH6h7WA7sDw  Class Item class Item { private $_weight; private $_value; public functi...