Jump to content


Photo

Data Que Falta Para Um Evento


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

#1 gastro

gastro

    Turista

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

Posted 11/05/2005, 12:16

Galera beleza... estive me empenhando nos ultimos dias para achar uma data "regressiva" para um evento por ex.....
hoje é 11/05/2005 e dia 18/09/2005 vai ter uma festa... assim o sistema me diz que faltam ( por ex. não calculei corretamente ) 3 meses e 7 dias algo assim.. sendo que temos meses com 31 e 30 etc... não da só para somar e diminuir... cheguei ao seguinte programa... é meio grande... nunca fiz curso de php aprendi sozinho então pode parecer ruin ou estranho sei lá... ai vai....

$datahoje = date("Y-m-d H:i:s");


// fraciona a data da festa
$fano = (substr($dados[5], 0, 4));
$fmes = (substr($dados[5], 5, 2));
$fdia = (substr($dados[5], 8, 2));
$fhora = (substr($dados[5], 10, 3));

// Fraciona a data de hoje
$hano = (substr($datahoje, 0, 4));
$hmes = (substr($datahoje, 5, 2));
$hmes = $hmes+1;
$hdia = (substr($datahoje, 8, 2));
$hhora = (substr($datahoje, 10, 3));

// calcula
$qdano = $fano - $hano;
$qdmes = $fmes - $hmes;
$qdmes = $fmes - $hmes;
$qddia = $fdia - $hdia;
$dianega = (substr($qddia, 0, 1));
$qdhora = $fhora - $hhora;
$lastday = mktime (0,0,0,$fmes,0,$hano);
$ddd = strftime ("%d", $lastday);
$mkdia = (substr($ddd, 0, 2));

$qdmesnega = (substr($qdmes, 0, 1));

// imprime o ano
if ($qdmesnega == "-"){
$qdmes = 0;
}

if($qdano > 0){
echo "$qdano ano,";
}

// imprime o mês
if($qdmes != 0){
if ($qdmes > 1){
echo "$qdmes meses,";
}else{
echo "$qdmes mes,";
}}

// imprime o dia
if ($dianega == "-"){
$qddia = $mkdia + $qddia;
echo "|| $qddia dias ||";
}else{
if ($qddia == 0){
echo "A festa é Hojeeeeee";
}else{
if($qddia == 1){
echo "$qddia dia";
}else{
echo "$qddia dias";
}
}
}

Então pergunto.... existe alguma outra forma de achar esta data restante como demostrei acima ?
uma forma mais precisa etc ... essa funcina bem até agora, mas apresentou um bug quando retorno a data etc...
se alguem puder dar uma dica... ou quizer usar o codigo... sussegado

valeu
abraço
Edson

#2 MarviN*

MarviN*

    nw . newton web

  • Usuários
  • 780 posts
  • Sexo:Não informado
  • Localidade:Brasília - DF

Posted 11/05/2005, 12:39

Usando mktime, acho q é isso:

// fraciona a data da festa
$fano = (substr($dados[5], 0, 4));
$fmes = (substr($dados[5], 5, 2));
$fdia = (substr($dados[5], 8, 2));
$fhora = (substr($dados[5], 10, 3));

// Fraciona a data de hoje
$hano = (substr($datahoje, 0, 4));
$hmes = (substr($datahoje, 5, 2));
$hmes = $hmes+1;
$hdia = (substr($datahoje, 8, 2));
$hhora = (substr($datahoje, 10, 3));

$data = date("d", mktime($fhora - $hhora, 0, 0, $fmes - $hmes, $fdia - $hdia, $fano - $hano);
echo "Faltam ". $data ." dias para a festa\n";

Ve se funciona esse lance ae, não tive tempo pra testar! :D.
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
[ Blog Desenvolvimento Web: http://www.newtonwagner.net/blog ]
[ Diário da Selva: http://www.diariodaselva.com/ ]

[ "Não existe um caminho para a paz; a paz é o caminho." Mahatma Gandhi ]

#3 kennedy.kcc

kennedy.kcc

    Novato no fórum

  • Usuários
  • 3 posts
  • Sexo:Não informado
  • Localidade:Brasília-DF
  • Interesses:Shophopho

Posted 11/05/2005, 15:18

<?

// fraciona a data da festa
$fano = (substr($dados[5], 0, 4));
$fmes = (substr($dados[5], 5, 2));
$fdia = (substr($dados[5], 8, 2));
$fhora = (substr($dados[5], 10, 3));

// Fraciona a data de hoje
$hano = (substr($datahoje, 0, 4));
$hmes = (substr($datahoje, 5, 2));
$hmes = $hmes+1;
$hdia = (substr($datahoje, 8, 2));
$hhora = (substr($datahoje, 10, 3));

$data = date("d", mktime($fhora - $hhora, 0, 0, $fmes - $hmes, $fdia - $hdia, $fano - $hano));
echo "Faltam ". $data ." dias para a festa\n";
?>


:::Agora tah certo...faltava som um ).
<:.:KCC:.:>




1 user(s) are reading this topic

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

IPB Skin By Virteq