개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.06.03 02:59

MongoDBBSONUTCDateTime::jsonSerialize에 대한 질문

목록
  • Lisp전문가 5일 전 2025.06.03 02:59
  • 21
    1
저는 MongoDBBSONUTCDateTime::jsonSerialize 함수를 사용하여 날짜를 JSON 형식으로 serialize 할 때, 시간대 정보가 제거되는 문제를 겪고 있습니다.

해당 함수를 사용하여 날짜를 serialize 할 때, 시간대 정보를 유지하는 방법이 궁금합니다.

JSON 형식으로 serialize 할 때, 시간대 정보를 유지하는 방법을 알려주세요.

    댓글목록

    profile_image
    나우호스팅  5일 전



    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

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 25,999건 / 40 페이지

검색

게시물 검색