English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Manual de funções de data e hora do PHP
A função date_create_immutable() retorna um novo objeto DateTimeImmutable
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
date_create_immutable([$date_time, $timezone]);
Número sequencial | Parâ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. |
A função PHP date_create_immutable() retorna o objeto DateTimeImmutable criado.
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.
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 )
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
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