asp.net - sumar - ¿Cómo restar un mes del objeto Date?
sumar meses a fecha c# (4)
De hecho, tienes que transportar Hoy a una variable y dejar que esa asignación funcione allí. El siguiente código producirá el resultado que espera (lo acabo de verificar porque su publicación me hizo pensar dos veces).
Dim dt As DateTime = Date.Today
dt = dt.AddMonths(-2)
Dim x As String = dt.ToString()
¿Cómo restar un mes de un objeto de fecha en VB.NET?
Yo he tratado:
Today.AddMonths(-1)
Sin embargo, dado que Hoy es 01-ene-2010, el resultado que obtengo es 01-dic-2010. La respuesta que quiero es 01-Dic-2009.
¿Hay una manera conveniente de hacer esto dentro del framework .NET?
Esto funciona bien, debes recordar que DateTime es imparable.
Dim d As DateTime
d = New DateTime(2010, 1, 1)
d = d.AddMonths(-1)
Eche un vistazo a DateTime Structure
Un cálculo en una instancia de DateTime, como Agregar o Restar, no modifica el valor de la instancia. En cambio, el cálculo devuelve una nueva instancia de DateTime cuyo valor es el resultado del cálculo.
He usado lo siguiente y funciona.
Dim dtToday As DateTime = Date.Today
dtToday = dtToday.AddMonths(-2)
Dim d As DateTime = #1/1/2010#
d = d.AddMonths(-1)