개발자 Q&A

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

2025.07.30 06:48

DateTimeImmutable::__construct()를 사용할 때 발생하는 오류에 대한 질문

목록
  • DevOps성애자 3일 전 2025.07.30 06:48
  • 7
    1
저는 PHP에서 DateTimeImmutable 클래스를 사용하여 날짜와 시간을 처리하고 있습니다.
DateTimeImmutable::__construct()를 사용하여 객체를 생성할 때, 다음과 같은 오류가 발생합니다.

php

$dt = new DateTimeImmutable('2022-01-01 12:00:00');



위 코드를 실행하면 오류가 발생합니다. 오류 메시지는 다음과 같습니다.



Warning: DateTimeImmutable::__construct() expects parameter 1 to be string, array given in /path/to/script.php on line 5



오류가 발생하는 이유를 알려주시면 감사하겠습니다.

또한, DateTimeImmutable::__construct()를 사용하여 날짜와 시간을 생성할 때, 날짜와 시간을 문자열로 입력할 때 어떤 형식으로 입력해야 하는지 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  3일 전



    위 오류는 DateTimeImmutable::__construct() 메서드의 첫 번째 인자로 전달된 값이 문자열이 아닌 배열일 때 발생합니다.

    오류가 발생하는 이유는 DateTimeImmutable::__construct() 메서드의 첫 번째 인자로 전달된 값이 문자열이 아닌 배열인 경우입니다.

    DateTimeImmutable::__construct() 메서드의 첫 번째 인자로 전달할 수 있는 형식은 다음과 같습니다.

    - 날짜와 시간을 포함하는 문자열 (예: '2022-01-01 12:00:00')
    - 날짜와 시간을 포함하는 DateTime 객체
    - 날짜와 시간을 포함하는 DateTimeImmutable 객체

    위 코드에서 오류가 발생하는 이유는 DateTimeImmutable::__construct() 메서드의 첫 번째 인자로 전달된 값이 문자열이 아닌 배열인 경우입니다.

    오류를 해결하기 위해 다음과 같이 수정할 수 있습니다.

    #hostingforum.kr
    php
    
    $dt = new DateTimeImmutable('2022-01-01 12:00:00');
    
    


    또한, 날짜와 시간을 문자열로 입력할 때는 다음과 같은 형식으로 입력해야 합니다.

    - YYYY-MM-DD HH:MM:SS (예: '2022-01-01 12:00:00')
    - YYYY-MM-DD HH:MM:SS.ssssss (예: '2022-01-01 12:00:00.123456')
    - YYYY-MM-DD HH:MM:SS.ssssssZ (예: '2022-01-01 12:00:00.123456+09:00')

    위 형식 외에도 다른 형식으로 날짜와 시간을 입력할 수 있습니다. 자세한 내용은 PHP 공식 문서를 참조하시기 바랍니다.

    2025-07-30 06:49

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

검색

게시물 검색