Jump to content


Photo

Calcular Intervalo De Datas


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

#1 anderson farias

anderson farias

    Normal

  • Usuários
  • 62 posts
  • Sexo:Masculino
  • Localidade:Bahia
  • Interesses:Ajudar, trabalhar e viver...

Posted 08/02/2010, 14:11

Olá pessoal ,

Na minha aplicação tenho três dados de entrada:
Data de entrada:
Data de Saída:
Quantidade de dias:

Gostaria de saber como faço para quando eu terminar de digitar a Data de Entrada e Data de Saída automaticamente seja inserido os numeros de dias relacionado ao intervalo no campo Quantidade de Dias.

Código sem implentação:
<tr>
<td width="160">Data Entrada<br />
<input type="text" name="data_entrada" size="10"/>
</td>

<td width="160">Data Saída<br />
<input type="text" name="data_saida" size="10" />
</td>

<td width="100">Qtd. Dias<br />
<input type="text" name="qtd_dias" size="5" maxlength="10"  />
</td>


Grato pela atenção ,

#2 Dudu

Dudu

    Viva la vida

  • Usuários
  • 1437 posts
  • Sexo:Masculino
  • Localidade:Uberlândia - MG
  • Interesses:PHP

Posted 08/02/2010, 14:15

Recupere os valores digitados, transforme para timestamp e faça a subtração entre elas, e após isso, divida por 86400, que é a quantidade de segundos que possui 1 dia.


Ex:

[codebox]

$entrada = '2010-02-12';
$saida = '2010-02-15';
$qtd_dias = round((strtotime($saida) - strtotime($entrada)) / 86400);
echo $qtd_dias;
[/codebox]

Seria mais ou menos isso.
Até mais ^_^

Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Moderador


Twitter: HostCheap


#3 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 08/02/2010, 21:03

Se envolver MySQL: DATEDIFF()

SELECT DATEDIFF('2010-02-12', '2010-02-15')
PHP 5.3+: DateTime::diff()

<?php

$input  = new DateTime('2010-02-12');
$output = new DateTime('2010-02-15');
$diff   = $input->diff($output);

print $diff->days;

?>
PHP 5+: a solução do Dudu resolve. Dependendo do caso pode ser que seja necessário algo mais, como esta função do Felipe Pena: dateDiff()

[]’sAté mais




1 user(s) are reading this topic

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

IPB Skin By Virteq