Ir para conteúdo

Arquivado

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

Boca

Subtrair DATA

Recommended Posts

Pessoal preciso saber o intervalo de duas datas, alguem pode me ajudar como posso fazer isso06/04/2005 - 10/04/2005intervalo de 4 diasobrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ou...:

PHP

[*]

[*]<?

[*]//Datas no formato mm/dd/aaaa

[*]$datainicio=strtotime("01/09/2004");

[*]$datafim  =strtotime("12/04/2004");

[*]$intervalo=($datafim-$datainicio)/86400; //transformação do timestamp em dias

[*]print $intervalo;

[*]?>

Compartilhar este post


Link para o post
Compartilhar em outros sites
Walace, é necessário formatar a data para mm/dd/aaaa ? Não tem como fazer dd/mm/aaaa ?

 

:ermm:

 

Se você for utilizar a função strtotime() pra pegar o timestamp da data, não... você tem que passar a data num destes formatos: http://www.gnu.org/software/tar/manual/htm...pter/tar_7.html

 

Falou!

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiz o seguinte exemplo apartir do que foi me passado mas o resusltado foi 31 o qual seria 1

 

Desculpe não verificqui o formato mm/dd/aaaa, mas ete tem como mudar para dd/mm/aaaa

 

PHP

[*]<?

[*]//Datas no formato mm/dd/aaaa

[*]$datainicio=strtotime("01/04/2004");

[*]$datafim =strtotime("02/04/2004");

[*]$intervalo=($datafim-$datainicio)/86400; //transformação do timestamp em dias

[*]print $intervalo;

[*]?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só uma curiosidade sobre strtotime:

 

Nota: O intervalo válido de um timestamp é tipicamente de Fri, 13 Dec 1901 20:45:54 GMT até Tue, 19 Jan 2038 03:14:07 GMT. (Estas são datas que correspondem aos valores máximos e mínimos para um inteiro assinado de 32-bit.) Adicionalmente, nem todas as plataformas suportam timestamps negativos, então a faixa de sua data pode ser limitada antes de chegar na Era Unix. Isto significa que ex. datas antes de Jan 1, 1970 não trabalharão no Windows, nem em algumas distribuições do Linux, e num grupo de outros sistemas operacionais.

 

e sobre sua função você pode fazer assim tbm da:

 

echo date("d/m/Y", strtotime(" -2 days "));//04/04/2005

Compartilhar este post


Link para o post
Compartilhar em outros sites

é por causa disso que você ta errando:

 

strtotime --  Analisa qualquer descrição em texto em inglês de data hora em timestamp Unix

 

http://br.php.net/strtotime

 

 

 

$dat1 = strtotime("2005-04-06");

$dat2 = strtotime("2005-04-09");

 

$res = $dat2 - $dat1;

 

echo $res / 86400;

 

//echo date("d", $res); //

 

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ou...:

 

PHP
  • <?
  • //Datas no formato mm/dd/aaaa
  • $datainicio=strtotime("01/09/2004");
  • $datafim =strtotime("12/04/2004");
  • $intervalo=($datafim-$datainicio)/86400; //transformação do timestamp em dias
  • print $intervalo;
  • ?>

 

Genial, era exatamente oq procurava, para calcular juros em uma parcela, juro cobrado por dia. Parabéns

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.