Como este é o primeiro post do ano, desejo a todos um feliz 2006!!!
Bom... vamos voltar ao assunto.
Pois é, apesar do VB.Net possuir o DateDiff o C# não tem.
Para contornar este problema podemos utilizar a seguinte função:
/// DateDiff para C#
/// Indica qual será o retorno [0 = Dias, 1 = Meses, 2 = Anos]
/// Data Inicial
/// Data Final
/// Retorna a diferença de acordo com o Intervalo escolhido
///
public double dateDiff( int interval, DateTime date1, DateTime date2)
{
TimeSpan tsDuration;
tsDuration = date2 - date1;
if( interval == 0 )
{
// Resultado em Dias
return Convert.ToDouble( tsDuration.Days );
}
else if( interval == 1 )
{
// Resultado em Meses
return Convert.ToDouble( ( Convert.ToDouble( tsDuration.Days ) / 365 ) * 12 ) ;
}
else if( interval == 2 )
{
// Resultado em Anos
return Convert.ToDouble( ( Convert.ToDouble( tsDuration.Days ) / 365) );
}
else {
return 0;
}
}
Achei uma parte dessa função na internet e adaptei as minhas necessidades. Adapte a sua e seja feliz!!! :)
Abraços,
Pedro
PS.: Não testei essa função direito, na verdade só uso o retorno em dias. Caso encontre algum problema ou faça um upgrade nela, me manda uma msg!!!
ATENÇÃO: Atualizei a função em: 27/01/2006.
Posted
26-1-2006 13:15
por
Pedro Antonio Seixas Subutzki