Como Converter DataTime em String em PHP

Ralfh Bryan Perez 30 janeiro 2023
  1. Utilize o format() Método na classe DateTime
  2. Utilize date_format() Método
  3. Utilize formatos pré-definidos em date_d.php
  4. Utilize list() to Convert DateTime to String in PHP
Como Converter DataTime em String em 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.

Nota
O 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

Artigo relacionado - PHP DateTime

Artigo relacionado - PHP String