Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Dj Gan

[Resolvido] Como converter uma string dd/mm/yyyy em date

Recommended Posts

Olá a todos,

 

Escrevo pois pesquisei bastante sobre o assunto, mas não achei solução, tutorial ou dica que adaptada pudesse funcionar em meu sistema.

O problema: Preciso converter uma string no formato dd/mm/yyyy em um valor date, para então fazer comparação de datas, listar os meses, etc.

 

No BD e sistema que já estão prontos as datas são armazenadas como texto, no formato dd/mm/yyyy, como ex 10/02/2010. Já tentei o strotime, timestamp e até explode mas não obtive sucesso. Gostaria de converter esta data (ex 10/02/2010) em uma variável do tipo date com o mesmo valor, já no formato brasileiro (ex 10/02/2010) para então fazer comparação de datas.

 

Alguém poderia ajudar? Desde já agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Lord...

 

Obrigado pelo retorno, mas infelizmente não funcionou.

 

Pelo que lí, a função date_parse retorna um array com os valores de uma data, mas deve ser no formato inglês. Em testes com uma data no formato do texto do bd, não reconhece os campos corretamente.

 

Para efeito de teste, fiz um script simples que me retorna uma destas data em formato texto que citei:

 

<?php

 

require_once("connect.php");

 

$data = mysql_query ("SELECT data_agenda

FROM ordem

WHERE id = '1'");

$data = mysql_fetch_array ($data);

$data = $data[0];

 

//aqui entraria a função ....... exemplo: converttodate($data, d/m/y);

 

 

?>

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja se isso pode ajudar você:

 

http://www.php.net/m...n.strtotime.php

 

Lembrando que essa função retorna no formato timestamp Unix e que é necessário uma data no formato em inglês, no caso você teria que converter a sua data em um formato de data em inglês.

 

 

Ficaria algo assim:

 

$date_timestamp = strtotime('2010-06-02')

 

Não é difícil converter a data que você tem (dd/mm/yyyy) em uma data em inglês (Ex: yyyy-mm-dd), basta você procurar um pouco sobre manipulação de string em PHP.

 

Eu não testei, mas não custa nada tentar usar sem converter, usando ao formato de data que você tem, se não der certo, converte.

 

Espero ter ajudado.

Atá mais!!!!!Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigao, para converter data de U.S.A. para BR e vice-versa use:

 

$data = implode(preg_match("~\/~", $data) == 0 ? "/" : "-", array_reverse(explode(preg_match("~\/~", $data) == 0 ? "-" : "/", $data)));

 

este codigo acho que é do fabio aqui do forum.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela ajuda de todos.

 

Não tinha pensado que mesmo uma variável de hora não passa de uma string na visão do PHP. Assim, com a dica dos colegas, simplesmente manipulei a string para o formato brasileiro, substituindo as barras por traços e posicionando os números no formato USA.

 

O que não sabia, até então, é que o php só realiza comparações de data no formato padrão americano yyyy-mm-dd. Nem adianta tentarmos comparar dd/mm/yyyy com dd/mm/yyyy que não funciona.

 

Para realizar a conversão de dd/mm/yyyy para yyyy-mm-dd, utilizei o seguinte código:

 

$data = substr($data,6,4)."-".substr($data,3,2)."-".substr($data,0,2);

 

 

Obrigado pela ajuda de todos. Aos moderadores, peço que marquem o tópico como resolvido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.