<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Últimas mensagens do tópico "Diferença entre Datas"]]></title>
		<link>http://www.guj.com.br/posts/list/4.java</link>
		<description><![CDATA[Últimas mensagens enviadas no tópico "Diferença entre Datas"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>Diferença entre Datas</title>
				<description><![CDATA[ Galera!,<br /> <br /> Alguém sabe dizer se existe alguma classe do java que informa a diferença entre duas datas, retornando em dias ??<br /> <br /> Valeu!!!!]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/16631/86952/diferenca-entre-datas
</guid>
				<link>http://www.guj.com.br/prepost/16631/86952/diferenca-entre-datas
</link>
				<pubDate><![CDATA[Thu, 14 Oct 2004 09:12:23]]> GMT</pubDate>
				<author><![CDATA[ Fabricio Cozer Martins]]></author>
			</item>
			<item>
				<title></title>
				<description><![CDATA[ <a class="snap_shots" href="http://www.guj.com.br/forum/viewtopic.php?t=9440&highlight=diferen%E7a+datas" target="_blank" rel="nofollow">http://www.guj.com.br/forum/viewtopic.php?t=9440&highlight=diferen%E7a+datas</a>]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/16631/86971/
</guid>
				<link>http://www.guj.com.br/prepost/16631/86971/
</link>
				<pubDate><![CDATA[Thu, 14 Oct 2004 09:53:56]]> GMT</pubDate>
				<author><![CDATA[ #@®®¡$]]></author>
			</item>
			<item>
				<title>Re: Diferença entre Datas</title>
				<description><![CDATA[ [quote="fmartins"]Alguém sabe dizer se existe alguma classe do java que informa a diferença entre duas datas, retornando em dias ??<br /> [/quote]<br /> <br /> Bom, no JDK não tem, mas você sempre pode fazer algumas continhas...<br /> [code]import java.util.*;<br /> class Test132 &#123;<br />     public static void main&#40;String&#91;&#93; args&#41; &#123;<br />         Calendar c1 = new GregorianCalendar&#40;2004, 10, 6&#41;;<br />         Calendar c2 = new GregorianCalendar&#40;2004, 10, 20&#41;;<br />         Date d1 = c1.getTime&#40;&#41;;<br />         Date d2 = c2.getTime&#40;&#41;;<br />         <br />         double diffDias = Math.floor&#40;&#40;d2.getTime&#40;&#41; - d1.getTime&#40;&#41;&#41; / 1000.0 / 86400.00&#41;;<br />         System.out.println &#40;diffDias&#41;;<br />     &#125;<br /> &#125;[/code]]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/16631/86973/re-diferenca-entre-datas
</guid>
				<link>http://www.guj.com.br/prepost/16631/86973/re-diferenca-entre-datas
</link>
				<pubDate><![CDATA[Thu, 14 Oct 2004 09:57:11]]> GMT</pubDate>
				<author><![CDATA[ thingol]]></author>
			</item>
			<item>
				<title></title>
				<description><![CDATA[ OkÁ!<br /> <br /> Vou fazer essas contas!]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/16631/87017/
</guid>
				<link>http://www.guj.com.br/prepost/16631/87017/
</link>
				<pubDate><![CDATA[Thu, 14 Oct 2004 12:07:07]]> GMT</pubDate>
				<author><![CDATA[ Fabricio Cozer Martins]]></author>
			</item>
			<item>
				<title>Re:Diferença entre Datas</title>
				<description><![CDATA[ Pessoal,<br /> <br /> Pelo que eu andei analisando do código de vocês, ele só contará os dias caso as datas sejam do mesmo mês, por exemplo, ele acertará se for 02/11/2007 e 29/11/2007, mas não conseguirá contar se for 02/10/2007 e 29/11/2007.<br /> <br /> Também não consegui achar nenhum código que resolvesse meu problema, então fiz o meu  :wink: <br /> <br /> [code]<br /> 	public int Diferenca_Data(int data_atual, int data_prevista){<br /> <br /> 		int aDia, aMes, pDia, pMes, pAno, dia;<br /> 		int aux, i, aNumDiasMes, pNumDiasMes;<br /> 		int flag=0;<br /> <br /> 		aDia = data_atual/1000000;<br /> <br /> 		aux = data_atual%1000000;<br /> <br /> 		aMes = aux/10000;<br /> <br /> 		pDia = data_prevista/1000000;<br /> <br /> 		aux = data_prevista%1000000;<br /> <br /> 		pMes = aux/10000;<br /> <br /> 		pAno = aux%10000;<br /> <br /> 		while (aMes &gt; pMes){<br /> <br /> 			if (flag == 1){<br /> <br /> 				pMes = pMes + 1;<br /> <br /> 			}<br /> <br /> 			pNumDiasMes = NumMes(pMes,pAno);<br /> <br /> 			if (aMes == pMes){<br /> <br /> 				aux = aDia;<br /> <br /> 			}else if (aMes &gt; pMes && flag == 1){<br /> <br /> 				aux = pNumDiasMes;<br /> <br /> 			}else{<br /> <br /> 				aux = pNumDiasMes - pDia;<br /> <br /> 			}<br /> <br /> 			for (i=aux;i&gt;0;i--){<br /> <br /> 				dia = 1 + dia;<br /> <br /> 			}<br /> <br /> 			flag = 1;<br /> 		}<br /> <br /> 		if (aDia &gt; pDia){<br /> 			aux = aDia - pDia;<br /> <br /> 			for (i=aux;i&gt;0;i--){<br /> <br /> 				dia = 1 + dia;<br /> <br /> 			}<br /> 		}<br /> <br /> 		return dia;<br /> 	}<br /> <br /> 	public int NumMes(int mes, int ano){<br /> 		int NumDiasMes;<br /> <br /> 		if ((mes==1)||(mes==3)||(mes==5)||(mes==7)||(mes==8)||(mes==10)||(mes==12))<br /> 		{<br /> 			NumDiasMes=31;<br /> 		}<br /> 		else if ((mes==4)||(mes==6)||(mes==9)||(mes==11))<br /> 		{<br /> 			NumDiasMes=30;<br /> 		}<br /> 		else<br /> 		{<br /> <br /> 			if (((ano % 4) == 0) && ((ano % 100) == 0))<br /> <br /> 				NumDiasMes=29;<br /> <br /> 			else if ((ano % 400) == 0)<br /> <br /> 				NumDiasMes=29;<br /> <br /> 			else<br /> 				NumDiasMes=28;<br /> 		}<br /> <br /> 		return NumDiasMes;<br /> 	}<br /> [/code]<br /> <br /> Não sei se esta é a melhor solução, mas resolveu meu caso. Caso alguem encontre um bug, por favor, relatem  :D ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/16631/396801/rediferenca-entre-datas
</guid>
				<link>http://www.guj.com.br/prepost/16631/396801/rediferenca-entre-datas
</link>
				<pubDate><![CDATA[Sun, 25 Nov 2007 23:44:10]]> GMT</pubDate>
				<author><![CDATA[ MarcoRosner]]></author>
			</item>
	</channel>
</rss>
