Em que ano nós estamos? Trabalhando com datas no PHP

Igor Carvalho
php-brasil
Published in
2 min readJun 13, 2019

Algo muito comum e trabalhoso de se fazer é trabalhar com datas, principalmente em conversões: do MySQL para o pt-BR e vice-versa. No PHP há inúmeras formas. Geralmente faz-se:

Mas ontem me deparei com uma situação que eu resolvi de forma uníssona.

O caso foi que eu recebi uma data não num formato MySQL nem em pt-BR, simplesmente não tinha caracteres separadores. Essa data veio em:

dmy -> 130619 -> 13 de junho de 2019

Se não tem separador como fazer então? Apelar para o substr? Até poderia, mas nessa vida sofrer é opcional.

Lendo o manual do php (eu gosto muito da classe DateTime, ajuda em muitas situações, mesmo num projeto não mvc e/ou não orientado a objetos), eu achei uma função muito importante:

date_create_from_format

Essa função cria um objeto DateTime a partir de um formato especifíco e uma data informada, e com isso eu posso formatar a saída para a que eu quiser.

Perfeito pra minha situação onde não tenho separadores.

Então eu posso criar uma função simples onde eu informo a data, o formato de entrada e o formato de saída. Excelente, awesome, wonderful.

Com a função acima eu posso receber a data em qualquer formato e transformá-la em qualquer outro formato, e apenas com uma única linha.

Uma única linha tornou-se um canivete suíço. Isto é lindo de se ver.

--

--