Entradas com Etiqueta ‘Comparando datas’

Comparando datas no formato Brasileiro

Quinta-feira, 5 de Junho, 2008

A agencia Opositivo desenvolve sistemas web tais como Intranet, Extranet, site etc... saiba mais visitando o site www.opositivo.com

Para quem tem dúvidas na hora de comparar datas, querendo saber qual das duas datas é maior etc.. Estou publicando uma function que te retorna se a data é igual maior ou menor.

PLAIN TEXT
PHP:
  1. // esta function Pega a data "AAA/MM/DD" e transforma em "DD/MM/AAAA"
  2. function BrazilianDate($data)
  3.    {
  4.       // 1985-01-23 => 23/01/1985
  5.       $pecas = split('[-/]', $data);
  6.       if ($pecas[2]> 31)
  7.          return($pecas[0]."/".$pecas[1]."/".$pecas[2]);
  8.       return($pecas[2]."/".$pecas[1]."/".$pecas[0]);
  9.    }
  10.  
  11.    // date_explode ( $data )
  12.    // quebra os elementos de uma data no formato brasileiro
  13.    // basta passar o valor da data no formato Americano "AAA/MM/DD"
  14.    function brazilian_date_explode($data)
  15.    {
  16.       # 01/01/2002
  17.       $pecas = split('[-/]', brazilianDate($data));
  18.       $saida = array
  19.       (
  20.          'dia' => $pecas[0],
  21.          'mes' => $pecas[1],
  22.          'ano' => $pecas[2],
  23.       );
  24.       return($saida);
  25.    }
  26.  
  27.    
  28. // Compara duas datas no formato brasileiro
  29.    // Retorna 2 se as datas forem iguais, 1 se a data1 for maior que a data2 e
  30.    // 0 se a data2 for maior que a data1
  31.    function brazilian_date_compare($xdata1, $xdata2)
  32.    {
  33.       $data1 = brazilian_date_explode($xdata1);
  34.       $data2 = brazilian_date_explode($xdata2);
  35.       $timestamp1 = gmmktime(0,0,0,$data1['mes'],$data1['dia'],$data1['ano']);
  36.       $timestamp2 = gmmktime(0,0,0,$data2['mes'],$data2['dia'],$data2['ano']);
  37.       if ($timestamp1 == $timestamp2)
  38.          return(2);
  39.       $r = (($timestamp1> $timestamp2) ? 1 : 0);
  40.       return($r);
  41.    }
  42.    
  43.    $saida =brazilian_date_compare("12/05/2008", "12/05/2008");
  44. echo $saida; // retorna 2 pois as datas são iguais
  45.  
  46.    $saida =brazilian_date_compare("12/05/2008", "11/05/2008");
  47. echo $saida; // retorna 1 pois primeira data é menor que a segunda data
  48.  
  49.    $saida =brazilian_date_compare("11/05/2008", "12/05/2008");
  50. echo $saida; // retorna 0 pois primeira data é maior que a segunda data

Resumo
A primeira function chamada BrazilianDate tem o objetivo de pegar a Data no formato Americano e convertar para Formato Brasileiro

A segunda function chamada brazilian_date_explode recebe a data no formato Americando ou Brasileiro e quebra em array separado por Dia, Mês e Ano

A terceira function chama brazilian_date_compare que o objetivo é comparar as datas que foram passadas

Organização
Eu recomendo que crie uma pagina chamada "strings.php" e jogue todas as funções criadas, assim na hora de programar é so incluir esta página no topo do arquivo.

PLAIN TEXT
PHP:
  1. require_once('strings.php');

Até mais

Ducca

Etiquetas:Comparando datas
Na categoria PHP | Sem Comentários »

Comparando Datas no fomato Americano

Quinta-feira, 5 de Junho, 2008

A agencia Opositivo desenvolve sistemas web tais como Intranet, Extranet, saiba mais visitando o site www.opositivo.com

Para quem tem dúvidas na hora de comparar datas, querendo saber qual das duas datas é maior etc.. Estou publicando uma function que te retorna se a data é igual maior ou menor.

PLAIN TEXT
PHP:
  1. function americanDate($data)// pega a data no formato Brasileiro e transforma em formato Americano
  2. {
  3. // 23/01/1985 => 1985-01-23
  4. $pecas = split('[-/]', $data);
  5. if ($pecas[0]> 31) // verifica se a data está no formato Brasileiro
  6. return($data);
  7. return($pecas[2]."-".$pecas[1]."-".$pecas[0]);
  8. }
  9.  
  10. // date_explode ( $data )
  11. // quebra os elementos de uma data no formato americano
  12. function date_explode($data)
  13. {
  14. # 2002-02-02
  15. $pecas = split('[-/]', americanDate($data));
  16. $saida = array
  17. (
  18. 'dia' => $pecas[2],
  19. 'mes' => $pecas[1],
  20. 'ano' => $pecas[0],
  21. );
  22. return($saida);
  23. }
  24.  
  25. // Compara duas datas no formato americano
  26. // Retorna 2 se as datas forem iguais, 1 se a data1 for maior que a data2 e
  27. // 0 se a data2 for maior que a data1
  28. function date_compare($xdata1, $xdata2)
  29. {
  30. //      echo "data1=($xdata1), data2=($xdata2)
  31. ";
  32. $data1 = date_explode($xdata1);
  33. $data2 = date_explode($xdata2);
  34. $timestamp1 = gmmktime(0,0,0,$data1['mes'],$data1['dia'],$data1['ano']);
  35. $timestamp2 = gmmktime(0,0,0,$data2['mes'],$data2['dia'],$data2['ano']);
  36. if ($timestamp1 == $timestamp2)
  37. return(2);
  38. $r = (($timestamp1> $timestamp2) ? 1 : 0);
  39. return($r);
  40. }
  41. $saida =date_compare("2008/05/12", "2008/05/12");
  42. echo $saida; // retorna 2 pois as datas são iguais
  43. $saida =date_compare("2008/05/12", "2008/05/11");
  44. echo $saida; // retorna 1 pois primeira data for maior que a segunda data
  45. $saida =date_compare("2008/05/11", "2008/05/12");
  46. echo $saida; // retorna 0 pois primeira data é menor que a segunda data

Resumo
A primeira function chamada americanDate tem o objetivo de pegar a Data no formato Brazileiro ou Americano e convertar para o formato Americano. O legal desta função é que você pode jogar um dos dois formatos de data (Brasileiro ou Americando) que ela te retorna o formato Americano.

A segunda function chamada date_explode recebe a data no formato Americando ou Brasileiro e quebra em array separado por Dia, Mês e Ano

A terceira function chama date_compare que o objetivo é comparar as datas que foram passadas no formato Americano e retorna 2 se as datas forem iguais, 1 se a data1 for maior que a data2 e 0 se a data2 for maior que a data1

Organização
Eu recomendo que crie uma pagina chamada "strings.php" e jogue todas as funções criadas, assim na hora de programar é so incluir esta página no topo do arquivo.

PLAIN TEXT
PHP:
  1. require_once('strings.php');

espero ter ajudado a galera que tem dúvidas com data.

No próximo post vou escrever sobre o mesmo tópico mas para as datas no formato Brasileiro.

Até mais

Ducca

Etiquetas:Comparando datas
Na categoria PHP | Sem Comentários »

  • Categorias

    • C# (1)
    • CAPA (13)
    • Design (2)
    • Fotografia (3)
    • HTML (2)
    • Links positivos (9)
    • PHP (6)
    • Sem categoria (2)
    • Sharepoint (3)
    • SQL (1)
    • VBA (1)
    • Visual basic (1)
  • Posts Recentes

    • Tabela Tipográfica
    • Design de logos 2009
    • Função para Paginação PHP
    • Color Blender
    • Pulseira USB
  • Páginas

    • Acerca

O + criado com WordPress
RSS Artigos e RSS Comentários.