DateTime 클래스의 createFromImmutable 메서드

정적 메서드 createFromImmutable 클래스 DateTime는 불변 객체 DateTimeImmutable를 기반으로 새로운 가변 객체 DateTime를 생성합니다.

구문

phpDateTime::createFromImmutable(DateTimeImmutable $object): DateTime

예제

불변 객체 DateTimeImmutable로부터 가변 객체 DateTime를 생성해 보겠습니다:

php<?php
  $immutable = new DateTimeImmutable('2023-07-15');
  $mutable = DateTime::createFromImmutable($immutable);
  echo $mutable->format('Y-m-d');
?>

코드 실행 결과:

php'2023-07-15'

예제

가변 객체와 불변 객체의 차이점을 살펴보겠습니다:

php<?php
  $immutable = new DateTimeImmutable('2023-07-15');
  $mutable = DateTime::createFromImmutable($immutable);
  
  $mutable->modify('+1 day');
  $newImmutable = $immutable->modify('+1 day');
  
  echo $mutable->format('Y-m-d') . "\n";
  echo $newImmutable->format('Y-m-d');
?>

코드 실행 결과:

php'2023-07-16'
'2023-07-16'

예제

시간대를 포함한 가변 객체 생성:

php<?php
  $timezone = new DateTimeZone('Europe/Moscow');
  $immutable = new DateTimeImmutable('now', $timezone);
  $mutable = DateTime::createFromImmutable($immutable);
  echo $mutable->format('Y-m-d H:i:s e');
?>

코드 실행 결과:

php'2023-07-15 14:30:00 Europe/Moscow'

함께 보기