public String DateDifference(DateTime pFechaUno, DateTime pFechaDos)
{
try
{
int[] vDiasMes = new int[12] { 31, -1, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
DateTime vFechaOrigen;
DateTime vFechaDestino;
int vAnio;
int vMes;
int vDia;
int vIncremento;
//Determinamos cual es la fecha menor
if (pFechaUno > pFechaDos)
{
vFechaOrigen = pFechaDos;
vFechaDestino = pFechaUno;
}
else
{
vFechaOrigen = pFechaUno;
vFechaDestino = pFechaDos;
}
// Calculamos los dias
vIncremento = 0;
if (vFechaOrigen.Day > vFechaDestino.Day)
{
vIncremento = vDiasMes[vFechaOrigen.Month - 1];
}
if (vIncremento == -1)
{
if (DateTime.IsLeapYear(vFechaOrigen.Year))
{
// Para los años bisiestos
vIncremento = 29;
}
else
{
vIncremento = 28;
}
}
if (vIncremento != 0)
{
vDia = (vFechaDestino.Day + vIncremento) - vFechaOrigen.Day;
vIncremento = 1;
}
else
{
vDia = vFechaDestino.Day - vFechaOrigen.Day;
}
//Calculamos los meses
if ((vFechaOrigen.Month + vIncremento) > vFechaDestino.Month)
{
vMes = (vFechaDestino.Month + 12) - (vFechaOrigen.Month + vIncremento);
vIncremento = 1;
}
else
{
vMes = (vFechaDestino.Month) - (vFechaOrigen.Month + vIncremento);
vIncremento = 0;
}
//Calculamos los años
vAnio = vFechaDestino.Year - (vFechaOrigen.Year + vIncremento);
return vAnio + " Año(s), " + vMes + " mes(es), " + vDia + " día(s)";
}
catch (Exception ex)
{
throw ex;
}
}
ByteRide busca generar un punto de encuentro para desarrolladores y entusiastas de la computación, donde se hallen soluciones sencillas a problemas sencillos. Queremos lograr un compilado de trucos, herramientas, tutoriales y respuestas a problemas de programación; Iniciaremos con javascript, html, php, c#, asp.net, sql, pero siempre buscando ampliar nuestros conocimientos.
Mostrando entradas con la etiqueta Fechas. Mostrar todas las entradas
Mostrando entradas con la etiqueta Fechas. Mostrar todas las entradas
martes, 28 de junio de 2011
Obtener la diferencia en días, meses y años entre dos fechas.
Un problema frecuente es obtener la diferencia en días, meses y años entre dos fechas, el siguiente método realizado en C# puede brindar una ayuda. este método es la adaptación en español de un trozo de código que ya se encuentra en linea.
Suscribirse a:
Entradas (Atom)