Função PHP date_create_immutable_from_format ()

Definição e Uso

A função date_create_immutable_from_format () é um alias de DateTimeImmutable :: createFromFormat () . Ele aceita uma string de hora e uma string de formato como parâmetros, analisa a string de hora fornecida no formato especificado e retorna um objeto DateTimeImmutable.

Sintaxe

date_create_immutable_from_format($date, $time [,$timezone])

Parâmetros

Sr. Não Parâmetro e Descrição
1

format(Mandatory)

Este é um valor de string que representa o formato no qual você precisa analisar a string de hora fornecida.

2

time(Mandatory)

Este é um valor de string que representa o tempo que você precisa para analisar.

3

timezone(Optional)

Este é um objeto da classe DateTimeZone que representa o fuso horário desejado.

Valores Retornados

A função PHP date_create_immutable_from_format () retorna um objeto DateTime representando o tempo analisado. Em caso de falha, esta função retorna o valor booleano falso .

Versão PHP

Esta função foi introduzida pela primeira vez no PHP versão 5.5.0 e funciona com todas as versões posteriores.

Exemplo

O exemplo a seguir demonstra o uso da função date_create_immutable_from_format () -

<?php
   //Creating a DateTime object
   $date = "25-Mar-1989";
   $format = "d-M-Y";
   $res = date_create_immutable_from_format($format, $date);
   print("Date: ".date_format($res, "Y-m-d"));
?>

Isso produzirá o seguinte resultado -

Date: 1989-03-25

Exemplo

Agora, vamos tentar passar o parâmetro opcional de fuso horário -

<?php
   //Creating a DateTime object
   $date = "25-Mar-1989";
   $format = "d-M-Y";
   $tz = new DateTimeZone('Indian/Mahe');  
   $res = date_create_immutable_from_format($format, $date, $tz);
   print date_format($res, "Y-m-d");
?>

Isso produzirá o seguinte resultado -

1989-03-25

Exemplo

O exemplo a seguir demonstra date_create_immutable_from_format () com formatos diferentes -

<?php
   $res1 = date_create_immutable_from_format("j.n.Y", "25.8.2014");
   print(date_format($res1, "Y-m-d"));
   print("\n");
   $res2 = date_create_immutable_from_format('Y-d-m H:i:s', '2014-25-08 12:20:25');
   print(date_format($res2, "Y-m-d H:i:s"));  
?>

Isso produzirá a seguinte saída -

2014-08-25
2014-08-25 12:20:25