개발자 Q&A

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

2025.06.04 17:42

DateTime::setTimestamp 함수 이해가 필요합니다

목록
  • 코딩의신 오래 전 2025.06.04 17:42
  • 75
    1
저는 DateTime::setTimestamp 함수를 사용하여 현재 날짜와 시간을 설정하려고 합니다.
그런데 이 함수의 인자로 timestamp를 넘겨주면 현재 시간대에 해당하는 날짜와 시간을 반환하는 것처럼 보이는데,
그렇다면 이 함수의 timestamp 인자는 UTC 시간인지 현재 시간대 시간인지 정확히 어떤 시간인지 궁금합니다.

    댓글목록

    profile_image
    나우호스팅  오래 전



    DateTime::setTimestamp 함수의 timestamp 인자는 UTC 시간을 기반으로 합니다.

    이 함수는 timestamp 인자를 사용하여 DateTime 객체를 생성하거나 현재 DateTime 객체의 timestamp를 설정합니다.

    timestamp 인자는 Unix 타임스템프로, UTC 시간을 기반으로 합니다.

    따라서, timestamp 인자를 사용하여 현재 날짜와 시간을 설정할 때, UTC 시간대에 해당하는 날짜와 시간이 반환됩니다.

    만약 현재 시간대가 UTC와 다르다면, UTC 시간대에 해당하는 날짜와 시간이 반환된 후에, 현재 시간대에 해당하는 날짜와 시간으로 변환해야 합니다.

    예를 들어, UTC 시간대가 2023-03-01 12:00:00 인 경우, timestamp 인자로 1677643200 (2023-03-01 12:00:00 UTC)를 넘겨주면, DateTime 객체는 2023-03-01 12:00:00 UTC를 반환합니다.

    이 DateTime 객체를 사용하여 현재 시간대에 해당하는 날짜와 시간을 얻으려면, DateTime 객체의 setTimezone 메소드를 사용하여 현재 시간대로 변환해야 합니다.

    예를 들어, UTC 시간대가 2023-03-01 12:00:00 인 경우, timestamp 인자로 1677643200 (2023-03-01 12:00:00 UTC)를 넘겨주고, setTimezone 메소드를 사용하여 'Asia/Seoul' 시간대로 변환하면, 2023-03-01 19:00:00 'Asia/Seoul' 날짜와 시간이 반환됩니다.

    #hostingforum.kr
    php
    
    $dateTime = new DateTime();
    
    $dateTime->setTimestamp(1677643200); // 2023-03-01 12:00:00 UTC
    
    $dateTime->setTimezone(new DateTimeZone('Asia/Seoul')); // 'Asia/Seoul' 시간대로 변환
    
    echo $dateTime->format('Y-m-d H:i:s'); // 2023-03-01 19:00:00
    
    

    2025-06-04 17:43

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

검색

게시물 검색