Sexta-feira, 21 de Setembro de 2007

Formatando DATA usando a função Explode

I ae rapaziada, a correria aqui ta grande e quase não tive tempo pra atualizar o Blog, pois bem, surgiu um tempo e aqui estou eu para escrever algo.

Um dos problemas que eu tive quando comecei a usar o PHP era para manipular as datas, colocar no formato que eu quero... bom usando as dicas da função date em outro post, vamos capturar a data.

<?php
$data = date(“d/m/Y”); // saída vai ser: 21/09/2007
?>

Bom até aqui não precisamos formatar nada, pois já conseguimos o formato padrão aqui do Brasil e conseguimos qualquer outra formatação. A diferença é quando vamos grava num banco ou recuperar uma data quando o campo do banco esta como DATE que usa o padrão: aaaa-mm-dd (2007-09-21). Então quando vamos recuperar do banco e mostrar pro usuário ou quando o usuário entra a data no padrão do Brasil, precisamos converter pro padrão do banco de dados...

Exemplo:

<?php

// Data no formato do banco
$data = “2007-09-21”;

// Precisamos transformar para: 21/09/2007. Aqui vamos usar a função explode.

$nova_data = explode(“-“,$data);

/* explicando a função Explode:
Na linha acima na utilização da função, no primeiro atributo agente definiu até onde que a função vai capturar os dados.. no caso, a função guardaria os números 2007 e pararia quando chegasse no “-“, isso, até terminar todos os caracteres.

Atribuímos tudo isso a uma variável chamada: $nova_data, só que agora ela se torna um ARRAY, para acessarmos o conteúdo deste array devemos fazer o seguinte:

*/

Echo $nova_data[0] . $nova_data[10 . $nova_data[2];

// a saída vai ser: 20070921 (continua no padrão errado e sem os separadores)

Echo $nova_data[2] . “/” . $nova_data[1] . “/” . $nova_data[0];

/*reparem nos números dentro dos [], são as posições onde as informações estão. E reparem também que entre cada posição temos um “.” Este ponto serve para “juntar” as variáveis. A nossa saída agora vai ser: 2007/09/21 */

?>

Bom a função explode funciona assim, você pode ter N utilidades para ela. Como por exemplo, verificar as palavras.. onde você poderia definir: $palavras = explode(“ “,$texto);

É isso aí pessoal, desculpem pela demora para postar alguma coisa, mais é que o tempo realmente esta curto.

Quem tiver alguma dica ou dúvida, pode mandar que ficarei feliz em tentar resolver.

Abraços!

2 comentários:

Lucas Ferreira disse...

Opa,

A Função explode é show de bola =D

Mas podemos formatar a data do MySQL de um jeito um pouco mais correcto, usando a função de strtodate:

echo date("d/m/Y", strtotime("2007-09-21"));

Fica supimpa também =D

Abraços!

Tan disse...

só tem uma coisa de errado no tutorial que é a data final depois do uso do explode:

" A nossa saída agora vai ser: 2007/09/21 */

?>"

O certo seria 21/09/2007

Mesmno tendo se passado qse um ano, só agora achei este site...

:D