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

Tutorial básico do PHP

Tutorial avançado do PHP

PHP & MySQL

Manual de referência do PHP

Uso e exemplo da função date_create_immutable() do PHP

Manual de funções de data e hora do PHP

A função date_create_immutable() retorna um novo objeto DateTimeImmutable

Definição e uso

date_create_immutable() é sinônimo de DateTimeImmutable::__construct(). Essa função aceita a data/String de tempo e fuso horário como parâmetros (opcional) e cria um objeto DateTimeImmutable.
Diferente do objeto DateTime, esse objeto não permite nenhuma modificação. Ele cria um novo objeto e o retorna se houver alterações. Pelo padrão, essa função cria a data atual./Objeto de tempo

Sintaxe

date_create_immutable([$date_time, $timezone]);

Parâmetro

Número sequencialParâmetros e descrição
1

date_time (opcional)

Esta é a data que você precisa criar um objeto DateTime imutável./String de tempo (usando formato suportado).

2

timezone (opcional)

Isso representa o fuso horário da data fornecida.

Retorno

A função PHP date_create_immutable() retorna o objeto DateTimeImmutable criado.

Versão do PHP

Esta função foi introduzida na versão do PHP5.5introduzido na versão 7.1.0 e pode ser usado em todas as versões mais recentes.

Exemplo online

Os seguintes exemplos demonstramdate_create_immutable()Uso da função-

<?php
   $date_string = "2019-08-15 9:25:45";
   $immutable = date_create_immutable($date_string);   
   print_r($immutable);
?>
Testar e ver‹/›

Resultados de saída

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

Exemplo online

A seguir, com parâmetro de fuso horáriodate_create_immutable()Exemplo-

<?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')); 
?>
Testar e ver‹/›

Resultados de saída

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

Exemplo online

Neste exemplo, criamos uma data imutável e adicionamos um intervalo à data normal, exibindo os valores resultantes. Como o objeto DateTimeImmutable não mutável cria e retorna um novo objeto em caso de alteração, você pode observar que ele muda antes e após a alteração-

<?php
   print("Data imutável: "."\n");
   $date1 = date_create_immutable('1986-09-11);
   $date2 = $date1->add(new DateInterval('P15DP12MP9YT24H'));
   print("Valor do objeto original: ".$date1->format('Y-m-d')."\n");
   print("Alterado: ".$date2->format('Y-m-d')."\n");
   print("Data normal: "."\n");
   $date3 = date_create('1986-09-11);
   $date4 = $date3->add(new DateInterval('P15DP12MP9YT24H'));
   print("Valor do objeto original: ".$date3->format('Y-m-d')."\n");
   print("Alterado: ".$date4->format('Y-m-d')."\n");
?>
Testar e ver‹/›

Resultados de saída

Data imutável: 
Valor do objeto original: 1986-09-11
Alterado: 1996-09-27
Data normal: 
Valor do objeto original: 1996-09-27
Alterado: 1996-09-27