Funzione PHP date_create_immutable ()
Definizione e utilizzo
Il date_create_immutable () è un alias di DateTimeImmutable :: __ construct () . Questa funzione accetta una stringa di data / ora e un fuso orario come parametri (opzionale) e crea un oggetto DateTimeImmutable .
A differenza dell'oggetto DateTime, questo oggetto non consente alcuna modifica, crea un nuovo oggetto in caso di modifiche e lo restituisce. Per impostazione predefinita, questa funzione crea un oggetto della data / ora corrente
Sintassi
date_create_immutable([$date_time, $timezone]);
Parametri
Suor n | Parametro e descrizione |
---|---|
1 | date_time (Optional) Questa è la stringa data / ora (nei formati supportati) per la quale è necessario creare un oggetto DateTime non modificabile. |
2 | timezone (Optional) Questo rappresenta il fuso orario del tempo specificato. |
Valori restituiti
La funzione PHP date_create_immutable () restituisce l'oggetto DateTimeImmutable creato.
Versione PHP
Questa funzione è stata introdotta per la prima volta nella versione PHP 5.5.0 e funziona con tutte le versioni successive.
Esempio
L'esempio seguente mostra l'utilizzo della funzione date_create_immutable () -
<?php
$date_string = "2019-08-15 9:25:45";
$immutable = date_create_immutable($date_string);
print_r($immutable);
?>
Questo produrrà il seguente risultato:
DateTimeImmutable Object
(
[date] => 2019-08-15 09:25:45.000000
[timezone_type] => 3
[timezone] => UTC
)
Esempio
Di seguito è riportato un esempio di date_create_immutable () con il parametro timezone -
<?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'));
?>
Questo produrrà il seguente risultato:
DateTimeImmutable Object
(
[date] => 2019-08-15 09:25:45.000000
[timezone_type] => 3
[timezone] => Indian/Mahe
)
2019-08-15 09:25:45
Esempio
Nell'esempio seguente abbiamo creato una data immutabile e gli oggetti data normali hanno aggiunto intervalli e visualizzato i valori risultanti. Poiché l'oggetto DateTime immutabile crea e restituisce un nuovo oggetto in caso di tentativo di modifica, puoi osservare che varia prima e dopo il cambiamento -
<?php
print("Immutable Date: "."\n");
$date1 = date_create_immutable('1986-09-11');
$date2 = $date1->add(new DateInterval('P15DP12MP9YT24H'));
print("Original Object Value: ".$date1->format('Y-m-d')."\n");
print("After Change: ".$date2->format('Y-m-d')."\n");
print("Normal Date: "."\n");
$date3 = date_create('1986-09-11');
$date4 = $date3->add(new DateInterval('P15DP12MP9YT24H'));
print("Original Object Value: ".$date3->format('Y-m-d')."\n");
print("After Change: ".$date4->format('Y-m-d')."\n");
?>
Questo produrrà il seguente risultato:
Immutable Date:
Original Object Value: 1986-09-11
After Change: 1996-09-27
Normal Date:
Original Object Value: 1996-09-27
After Change: 1996-09-27