Jump to content


Photo

Função Ajustar Data


  • Faça o login para participar
5 replies to this topic

#1 alberto.leal

alberto.leal

    Normal

  • Usuários
  • 79 posts
  • Sexo:Não informado

Posted 30/05/2005, 15:43

fala galera...
seguinte...estou passando por um probleminha aki...eu defini no meu banco q um atributo eh do tipo "DATE"...o mysql guarda no formato Y-m-d....
so q qnd meu usuario entra com o valor da data ele nao entra nesse formato..daew eu estouy fazendo uma fç para poder fazer essa inverção antes de gravar no banco....
porem nao estou obtendo sucesso...a minha fç nao retorna a data no formato q eu quero...
olhem so...
$data = 29-05-2005;
$data_cadastro = datajustar($data);
function datajustar ($ajustar){
//$data = date(Y-m-d);
$ajustar_data = explode("-",$ajustar);
$dia = $ajustar_data[0];
$mes = $ajustar_data[1];
$ano = $ajustar_data[2];
$data_certa = $ano-$mes-$dia;
return $data_certa;
}

o q há de errado?!
:blink:

#2 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 30/05/2005, 15:50

function ajustaData($data) {
  $er = "/([0-9]{2})-([0-9]{2})-([0-9]{4})/";
  return preg_replace ($er, "$3-$2-$1", $data);
}


Tenta agora.
Klaus Paiva
Conheça também: Taperás

#3 alberto.leal

alberto.leal

    Normal

  • Usuários
  • 79 posts
  • Sexo:Não informado

Posted 30/05/2005, 15:57

Klaus, deu certinho...mas vc poderia me explicar como issu funciona??rs

#4 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 30/05/2005, 16:22

Bão...

Linha 2:

Na linha 2 criamos uma variável chamada "er" (expressão regular), onde criamos uma expressão regular que "casa" exatamente seu formato de data e agrupa em três partes (note os parênteses). Saiba mais sobre expressões regulares

Linha 3:

Usamos a função http://www.php.net/preg-replace que executa a substituição de elementos em uma variável de acordo com uma ER. O primeiro parâmetro é a ER que vai casar as partes que queremos trocar (no caso, casei (desculpe o trocadilho hahaha) a data). No segundo parâmetro, usamos retrovisores (saiba mais no link que passei sobre ERs) para reordenar as partes da data e o terceiro parâmetro é data.
Klaus Paiva
Conheça também: Taperás

#5 alberto.leal

alberto.leal

    Normal

  • Usuários
  • 79 posts
  • Sexo:Não informado

Posted 30/05/2005, 16:25

uhm...to começando a entender melhor....so q ...se o usuario nao entrar com "-" e sim com "/"....eu tentei colokar /? apos o -? e nao deu..:(

#6 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 30/05/2005, 16:26

function ajustaData($data) {
  $er = "/([0-9]{2})[-\/]([0-9]{2})[-\/]([0-9]{4})/";
  return preg_replace ($er, "$3-$2-$1", $data);
}


Tá aí.
Klaus Paiva
Conheça também: Taperás




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq