
MongoDBBSONUTCDateTime::unserialize을 사용하여 UTC 시간을 deserialize하는 과정에서 -1초가 추가되는 현상은 MongoDB의 버그로 인한 문제입니다.
이 문제는 MongoDB 3.6 버전 이후로 발생하는 문제로, 이전 버전에서는 문제가 발생하지 않았습니다.
해결 방법은 MongoDB의 버전을 업그레이드하는 것입니다. MongoDB 4.0 버전 이상에서 이 문제는 해결됩니다.
또한, MongoDB 3.6 버전에서는 `MongoDBBSONUTCDateTime::unserialize` 메서드를 사용하는 대신 `MongoDBBSON::fromUTCDateTime` 메서드를 사용하는 것이 좋습니다.
이 메서드는 MongoDB 3.6 버전에서 문제가 발생하지 않습니다.
아래는 예제입니다.
#hostingforum.kr
php
$utcDateTime = new MongoDBBSONUTCDateTime(new DateTime('2022-01-01T00:00:00.000Z'));
$serializedDateTime = $utcDateTime->serialize();
// MongoDB 3.6 버전 이상에서 사용하는 방법
$unserializedDateTime = MongoDBBSON::fromUTCDateTime($serializedDateTime);
// MongoDB 3.6 버전에서 사용하는 방법
$unserializedDateTime = MongoDBBSONUTCDateTime::unserialize($serializedDateTime);
이러한 방법을 사용하면 -1초가 추가되는 문제를 해결할 수 있습니다.
2025-07-14 09:29