
MongoDBBSONUTCDateTime::jsonSerialize 함수는 UTC 시간을 기반으로 날짜를 serialize합니다. 따라서 시간대 정보가 제거되는 것은 정상적인 동작입니다.
시간대 정보를 유지하려면 MongoDB의 날짜 타입을 사용하는 대신 PHP의 DateTime 클래스를 사용하는 것을 고려해 볼 수 있습니다.
예를 들어, 다음과 같이 DateTime 객체를 사용하여 날짜를 serialize할 수 있습니다.
#hostingforum.kr
php
$date = new DateTime('2022-01-01 12:00:00', new DateTimeZone('Asia/Seoul'));
$json = json_encode($date->format('Y-m-d H:i:sP'));
위 예제에서, `format` 메서드는 시간대 정보를 포함하는 형식의 문자열을 반환합니다. `json_encode` 함수는 이 문자열을 JSON 형식으로 serialize합니다.
또는, MongoDB의 날짜 타입을 사용하는 대신 PHP의 DateTimeImmutable 클래스를 사용할 수도 있습니다.
예를 들어, 다음과 같이 DateTimeImmutable 객체를 사용하여 날짜를 serialize할 수 있습니다.
#hostingforum.kr
php
$date = new DateTimeImmutable('2022-01-01 12:00:00', new DateTimeZone('Asia/Seoul'));
$json = json_encode($date->format('Y-m-d H:i:sP'));
위 예제에서, `format` 메서드는 시간대 정보를 포함하는 형식의 문자열을 반환합니다. `json_encode` 함수는 이 문자열을 JSON 형식으로 serialize합니다.
이러한 방법으로 시간대 정보를 유지할 수 있습니다.
2025-06-03 03:00