라이브러리

[PHP] DateTime::createFromInterface - 주어진 DateTimeInterface 객체를 캡슐화하는 새 DateTime 객체를 반환합니다.




DateTime::createFromInterface

PHP 7.2 버전부터 `DateTime` 클래스는 `DateTimeInterface` 인터페이스를 지원합니다. `DateTimeInterface` 인터페이스는 날짜와 시간을 표현하기 위한 표준 인터페이스입니다. `DateTime::createFromInterface` 메서드는 `DateTimeInterface` 인터페이스를 구현한 객체를 사용하여 `DateTime` 객체를 생성할 수 있도록 합니다.

DateTimeInterface 인터페이스

`DateTimeInterface` 인터페이스는 다음과 같은 메서드를 정의합니다.

* `getDateTimeString()`: 날짜와 시간을 문자열로 반환합니다.
* `format()`: 날짜와 시간을 지정된 형식으로 반환합니다.
* `modify()`: 날짜와 시간을 수정합니다.
* `setTimezone()`: 날짜와 시간의 시간대를 설정합니다.

예제

다음 예제는 `DateTimeInterface` 인터페이스를 구현한 `MyDateTime` 클래스를 정의하고, `DateTime::createFromInterface` 메서드를 사용하여 `DateTime` 객체를 생성하는 방법을 보여줍니다.

#hostingforum.kr
php

// MyDateTime 클래스 정의

class MyDateTime implements DateTimeInterface

{

    private $date;



    public function __construct($date)

    {

        $this->date = $date;

    }



    public function getDateTimeString()

    {

        return $this->date;

    }



    public function format($format)

    {

        return date($format, strtotime($this->date));

    }



    public function modify($modification)

    {

        $this->date = date('Y-m-d H:i:s', strtotime($this->date . ' ' . $modification));

    }



    public function setTimezone(DateTimeZone $timezone)

    {

        $this->date = new DateTime($this->date, $timezone);

    }

}



// DateTime::createFromInterface 메서드 사용

$date = new MyDateTime('2022-01-01 12:00:00');

$dateTime = DateTime::createFromInterface($date);



echo $dateTime->format('Y-m-d H:i:s') . "
"; // 2022-01-01 12:00:00

$dateTime->modify('+1 hour');

echo $dateTime->format('Y-m-d H:i:s') . "
"; // 2022-01-01 13:00:00



결론

`DateTime::createFromInterface` 메서드는 `DateTimeInterface` 인터페이스를 구현한 객체를 사용하여 `DateTime` 객체를 생성할 수 있도록 합니다. 이 메서드는 날짜와 시간을 표현하기 위한 표준 인터페이스를 제공하여 개발자가 날짜와 시간을 쉽게 다룰 수 있도록 합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 632 페이지

검색

게시물 검색