Como Converter DataTime em String em PHP
-
Utilize o
format()
Método na classeDateTime
-
Utilize
date_format()
Método -
Utilize formatos pré-definidos em
date_d.php
-
Utilize
list()
to ConvertDateTime
toString
in PHP
Converter DateTime
em string em PHP é bastante fácil, há funções úteis disponíveis que são destinadas a este propósito como format()
da classe DateTime
, format_data()
, utilizando os formatos pré-definidos ou utilizando list()
.
Utilize o format()
Método na classe DateTime
PHP tem uma classe DateTime
para gerenciar data e hora. Ela está disponível desde a versão 5.2 do PHP.
Algumas razões pelas quais utilizar DateTime
sobre as funções tradicionais do PHP para gerenciar datas:
- Ele é capaz de processar mais formatos de string
- É mais fácil do que outras funções.
- A interface encapsula a lógica back-end com uma interface limpa para ser usada.
Um dos métodos úteis da classe DateTime
é o format()
, ele retorna a seqüência de datas formatada de acordo com o formato dado.
Exemplo:
$theDate = new DateTime('2020-03-08');
echo $stringDate = $theDate->format('Y-m-d H:i:s');
//output: 2020-03-08 00:00:00
O $stringDate
é uma string com o formato fornecido.
DateTime->format()
não suporta realmente microssegundos.Utilize date_format()
Método
O método date_format()
devolverá um novo objeto DateTime
e o formatará de acordo com o formato dado.
Exemplo:
$date = date_create_from_format('d M, Y', '08 Mar, 2020');
echo $newFormat = date_format($date,"Y/m/d H:i:s");
//output: 2020/03/08 00:00:00
De acordo com o formato fornecido, o método date_create_from_format()
está sendo utilizado para analisar uma string de tempo. Esta função aceita três parâmetros: format
, time
e timezone
(opcional).
No exemplo acima, o format_data()
processa a data criada para convertê-la em uma string.
Utilize formatos pré-definidos em date_d.php
Lista de formatos pré-definidos:
define ('DATE_ATOM', "Y-m-d\TH:i:sP");
define ('DATE_COOKIE', "l, d-M-y H:i:s T");
define ('DATE_ISO8601', "Y-m-d\TH:i:sO");
define ('DATE_RFC822', "D, d M y H:i:s O");
define ('DATE_RFC850', "l, d-M-y H:i:s T");
define ('DATE_RFC1036', "D, d M y H:i:s O");
define ('DATE_RFC1123', "D, d M Y H:i:s O");
define ('DATE_RFC2822', "D, d M Y H:i:s O");
define ('DATE_RFC3339', "Y-m-d\TH:i:sP");
define ('DATE_RSS', "D, d M Y H:i:s O");
define ('DATE_W3C', "Y-m-d\TH:i:sP");
Exemplo de uso:
$dateFormat = new DateTime(); // this will return current date
echo $stringDate = $date->format(DATE_ATOM);
//output: 2020-03-08T12:54:56+01:00
O exemplo acima usa um dos formatos pré-definidos, portanto não há necessidade de fornecê-lo de fato.
Utilize list()
to Convert DateTime
to String
in PHP
A função list()
pode ser utilizada para atribuir valores a uma lista de variáveis em uma operação, mas só funciona com arrays numéricos. Quando a array é atribuída a múltiplos valores, o primeiro item da array será atribuído à primeira variável, e assim por diante, até o final do número de variáveis. Embora o número de variáveis não possa ser maior do que o comprimento da array numérica.
Exemplo:
$date = explode("/",date('d/m/Y/h/i/s')
list($day,$month,$year,$hour,$min,$sec) = $date);
echo $month.'/'.$day.'/'.$year.' '.$hour.':'.$min.':'.$sec;
//output: 03/08/2020 02:01:06
Utilizando a função list()
, você pode facilmente utilizar $day
, $month
, $year
, $hour
, $min
, e $sec
como uma variável.
Artigo relacionado - PHP Date
- Como adicionar dias em PHP
- Como calcular a diferença entre duas datas usando PHP
- Como converter String para Data e Data/Hora em PHP
- Como converter um formato de data em outro em PHP
- Como obter a data e hora atual em PHP
Artigo relacionado - PHP DateTime
- Como obter o último dia do mês com funções PHP
- Como calcular a diferença entre duas datas usando PHP
- Como obter o ano atual em PHP
- Como converter uma data em um timestamp em PHP
- Como converter um carimbo de tempo em uma data ou hora legível em PHP