Phương thức createFromImmutable của lớp DateTime

Phương thức tĩnh createFromImmutable của lớp DateTime tạo một đối tượng DateTime có thể thay đổi mới dựa trên đối tượng bất biến DateTimeImmutable.

Cú pháp

phpDateTime::createFromImmutable(DateTimeImmutable $object): DateTime

Ví dụ

Hãy tạo một đối tượng DateTime có thể thay đổi từ một đối tượng bất biến:

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

Kết quả thực thi mã:

php'2023-07-15'

Ví dụ

Hãy minh họa sự khác biệt giữa đối tượng có thể thay đổi và đối tượng bất biến:

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');
?>

Kết quả thực thi mã:

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

Ví dụ

Tạo đối tượng có thể thay đổi với múi giờ:

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');
?>

Kết quả thực thi mã:

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

Xem thêm