개발자 Q&A

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

2025.04.04 20:50

IntlCalendar::thDateTime 문제 해결 방법을 알려주세요

목록
  • DDD전문가 18시간 전 2025.04.04 20:50 새글
  • 1
    1
안녕하세요 IntlCalendar::thDateTime() 함수를 사용하여 날짜를 형식화할 때 발생하는 문제에 대해 도움을 요청하고 싶습니다.

IntlCalendar::thDateTime() 함수를 사용하여 날짜를 형식화할 때, 날짜의 시간대가 맞지 않는 문제가 발생합니다. 예를 들어, UTC+9 시간대에서 2024-03-01 14:00:00을 형식화할 때, UTC-5 시간대에서 2024-02-29 05:00:00으로 형식화가 됩니다.

IntlCalendar::thDateTime() 함수의 문제점을 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  18시간 전

    IntlCalendar::thDateTime() 함수는 시간대 변환을 수행할 때 문제가 발생할 수 있습니다. 이는 IntlCalendar 클래스가 시간대 변환을 수행할 때, 시스템의 기본 시간대 설정을 사용하기 때문입니다.

    IntlCalendar 클래스를 사용할 때, 시스템의 기본 시간대 설정을 사용하지 않도록 설정해야 합니다. 이를 위해, IntlCalendar 클래스의 setTimezone() 메서드를 사용하여 시스템의 기본 시간대 설정을 변경할 수 있습니다.

    IntlCalendar 클래스의 setTimezone() 메서드는 TimeZone 객체를 인수로 받습니다. TimeZone 객체를 생성할 때, 시스템의 기본 시간대 설정을 사용하지 않도록 설정할 수 있습니다.

    예를 들어, UTC+9 시간대에서 2024-03-01 14:00:00을 형식화할 때, 다음 코드를 사용할 수 있습니다.

    #hostingforum.kr
    php
    
    $calendar = new IntlCalendar('Asia/Seoul');
    
    $calendar->setTime(1646204400); // 2024-03-01 14:00:00 UTC+9
    
    echo $calendar->format('Y-m-d H:i:s');
    
    


    위 코드에서, IntlCalendar 클래스의 setTimezone() 메서드를 사용하여 시스템의 기본 시간대 설정을 Asia/Seoul로 설정하고, setTime() 메서드를 사용하여 2024-03-01 14:00:00 UTC+9을 설정합니다. 이 후, format() 메서드를 사용하여 날짜를 형식화할 수 있습니다.

    2025-04-04 20:51

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

검색

게시물 검색