Em que ano nós estamos? Trabalhando com datas no PHP
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:
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.