English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Учебник по PHP для начинающих

Учебник по PHP для продвинутых

PHP и MySQL

Руководство по PHP

Использование функции PHP date_create_immutable() и примеры

Руководство по функциям даты и времени PHP

Функция date_create_immutable() возвращает новый объект DateTimeImmutable

Определение и использование

date_create_immutable() является алиасом DateTimeImmutable::__construct(). Эта функция принимает строку даты и времени и часовой пояс в качестве параметров (по умолчанию) и создает объект DateTimeImmutable.
В отличие от объекта DateTime, этот объект не позволяет никаких изменений; при изменении он создает новый объект и возвращает его. По умолчанию функция создает объект текущей даты и времени

Синтаксис

date_create_immutable([$date_time, $timezone]);

Параметр

НомерПараметры и описание
1

date_time (опционально)

Это строка даты и времени, которую вам нужно создать как неизменяемый объект DateTime (в формате, поддерживаемом)

2

timezone (опционально)

Это означает часовой пояс заданного времени.

Возвратное значение

Функция PHP date_create_immutable() возвращает объект DateTimeImmutable.

Версия PHP

Эта функция была введена в версии PHP 5.5.0 и может использоваться во всех более поздних версиях.

Пример онлайн

Ниже приведены примеры использованияdate_create_immutable()Использование функции-

<?php
   $date_string = "2019-08-15 9:25:45";
   $immutable = date_create_immutable($date_string);   
   print_r($immutable);
?>
Проверим‹/›

Результат вывода

DateTimeImmutable Object
(
    [date] => 2019-08-15 09:25:45.000000
    [timezone_type] => 3
    [timezone] => UTC
)

Пример онлайн

Ниже приведены примеры с параметром часового поясаdate_create_immutable()Пример-

<?php
   $date_string = "2019-08-15 9:25:45";
   $tz = new DateTimeZone('Indian/Mahe');
   $immutable = date_create_immutable($date_string, $tz);   
   print_r($immutable);   
   print(date_format($immutable, 'Y-m-d H:i:s')); 
?>
Проверим‹/›

Результат вывода

DateTimeImmutable Object
(
    [date] => 2019-08-15 09:25:45.000000
    [timezone_type] => 3
    [timezone] => Indian/Mahe
)
2019-08-15 09:25:45

Пример онлайн

В следующем примере мы создаем неизменяемую дату, к которой добавляем интервал в нормальный объект даты, и выводим значение результата. Поскольку неизменяемый объект DateTime создает и возвращает новый объект при изменении, вы можете观察到, что он изменяется и до, и после изменений,-

<?php
   print("Неизменяемая дата: "."\n");
   $date1 = date_create_immutable('1986-09-11');
   $date2 = $date1->add(new DateInterval('P15DP12MP9YT24H'));
   print("オリジナルオブジェクト値: ".$date1->format('Y-m-d')."\n");
   print("Изменено: ".$date2->format('Y-m-d')."\n");
   print("Нормальная дата: "."\n");
   $date3 = date_create('1986-09-11');
   $date4 = $date3->add(new DateInterval('P15DP12MP9YT24H'));
   print("オリジナルオブジェクト値: ".$date3->format('Y-m-d')."\n");
   print("Изменено: ".$date4->format('Y-m-d')."\n");
?>
Проверим‹/›

Результат вывода

Неизменяемая дата: 
オリジナルオブジェクト値: 1986-09-11
Изменено: 1996-09-27
Нормальная дата: 
オリジナルオブジェクト値: 1996-09-27
Изменено: 1996-09-27