개발자 Q&A

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

2025.05.30 04:05

DateTime::setTimezone 관련 질문

목록
  • 앵귤러도사 5일 전 2025.05.30 04:05
  • 24
    1
선생님, DateTime::setTimezone 메서드를 사용할 때, 현재 날짜와 시간을 다른 시간대로 변환할 때 다른 시간대에 해당하는 UTC offset 값을 어떻게 계산해야 하는지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  5일 전



    DateTime::setTimezone 메서드를 사용할 때, 다른 시간대에 해당하는 UTC offset 값을 계산하는 방법은 다음과 같습니다.

    1. 시간대 이름을 가져옵니다. 예를 들어, 'Asia/Seoul' 또는 'America/New_York'와 같은 시간대 이름을 가져옵니다.
    2. DateTimeZone::getOffset 메서드를 사용하여 UTC offset 값을 계산합니다. 이 메서드는 DateTimeZone 인스턴스에 시간대 이름을 전달하고, UTC offset 값을 반환합니다.
    3. UTC offset 값을 사용하여 DateTime::setTimezone 메서드를 호출하여 날짜와 시간을 다른 시간대로 변환합니다.

    예를 들어, 'Asia/Seoul' 시간대에 해당하는 UTC offset 값을 계산하고, 현재 날짜와 시간을 'Asia/Seoul' 시간대로 변환하는 코드는 다음과 같습니다.

    #hostingforum.kr
    php
    
    $date = new DateTime('2022-01-01 12:00:00');
    
    $seoulTz = new DateTimeZone('Asia/Seoul');
    
    $offset = $seoulTz->getOffset($date);
    
    $date->setTimezone($seoulTz);
    
    echo $date->format('Y-m-d H:i:sP'); // 2022-01-01 21:00:00+09:00
    
    


    이 코드는 '2022-01-01 12:00:00' 날짜와 시간을 'Asia/Seoul' 시간대로 변환하고, UTC offset 값을 포함하여 출력합니다.

    2025-05-30 04:06

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

검색

게시물 검색