Buenas gente,
Me ha surgido una duda. Necesito realizar la siguiente operacion. Por un lado tenemos la fecha actual, y por otro tenemos en un grid uno de los campos que marcha una fecha de registro (por ejemplo). Lo que quiero es obtener la diferencia entre los meses de las dos fechas. Me explico:
si fecha actual = 27/02/2012 y fecha registro = 12/03/2012, me gustaria obtener la diferencia de restar 2 (mes de la fecha actual) menos 3 (mes de la fecha de registro). Me interesa obtener valores negativos para saber si la diferencia es por debajo o por encima de una fecha dada.
Mi codigo es el siguiente,
string fechaLimite = e.Row.Cells[4].Text.ToString();
string queryCalcularMes = "select isnull(month('" + fechaLimite + "'),0) as mes";
string queryCalcularMesActual = "select month(GETDATE()) as mes";
SqlQueryBD.SelectCommand = queryCalcularMes;
DataView mesFecLimite = (DataView)SqlQueryBD.Select(DataSourceSelectArgume nts.Empty);
if (mesFecLimite.Count == 1)
{
mesFechaLimite = (int)mesFecLimite.Table.Rows[0]["mes"];
}
SqlQueryBD.SelectCommand = queryCalcularMesActual;
DataView mesFecActual = (DataView)SqlQueryBD.Select(DataSourceSelectArgume nts.Empty);
if (mesFecActual.Count == 1)
{
mesFechaActual = (int)mesFecActual.Table.Rows[0]["mes"];
}
Seguro que se puede hacer mas simple y mas sencillo ya que me parece una burrada para restar dos meses de dos fechas diferentes...Asi que me gustaria que me indicarais como hacerlo de forma mas eficiente y sin tener que ir a hacer consultas a base de datos.
Estoy programando una aplicacion Web en ASP.NET VS 2010 en C#.
Muchas gracias por la ayuda!!!