Como obtener la fecha de días atras

03/06/2006 - 01:56 por Adal | Informe spam
En un programa que estoy haciendo, necesito que el datetimepicker tenga una
fecha limite de X días atras, entonces escribi el siguiente codigo,

DateTimePicker1.MinDate = (CInt(Now.Day) - 5).ToString & "/" &
Now.Month.ToString & "/" & Now.Year.ToString

y funciona, excepto los primeros días del mes, y justo ahora detecte el
problema, alguna idea de como obtener el mismo resultado sin importar la
fecha,?? Lo que ahora estoy haciendo es hacer una clase que me detecte eso,
pero... estoy un poco atorado, porque es hay meses de 30 31 y por si fuera
poco, hay de 28 y a veces 29. Primero lo intente con datediff, pero se
necesitan dos fechas como referencia y no encontre la forma.

Preguntas similare

Leer las respuestas

#1 Chochenager
03/06/2006 - 03:36 | Informe spam
Esto te ocurre por utilizar Now.Day, esta función te devuelve el día
de mes

Para que esto no te ocurra, utiliza la función que devuelve el día
del año
Respuesta Responder a este mensaje
#2 Leonardo Azpurua [mvp vb]
03/06/2006 - 04:50 | Informe spam
"Adal" escribió en el mensaje
news:
En un programa que estoy haciendo, necesito que el datetimepicker tenga
una
fecha limite de X días atras, entonces escribi el siguiente codigo,

DateTimePicker1.MinDate = (CInt(Now.Day) - 5).ToString & "/" &
Now.Month.ToString & "/" & Now.Year.ToString

y funciona, excepto los primeros días del mes, y justo ahora detecte el
problema, alguna idea de como obtener el mismo resultado sin importar la
fecha,?? Lo que ahora estoy haciendo es hacer una clase que me detecte
eso,
pero... estoy un poco atorado, porque es hay meses de 30 31 y por si fuera
poco, hay de 28 y a veces 29. Primero lo intente con datediff, pero se
necesitan dos fechas



Hola.

La manera "VB6" seria:

Dim dt1 as Date, dt2 As Date
Dt1 = Date.Today()
Dt2 = DateAdd(DateInterval.Day, Dt1, -5)
Console.WriteLine("Hoy: {0}, Limite: {1}", Dt1, Dt2)

otra, creo que mas efectiva (aunque no me atreveria a asegurarlo, y el
Reflector se me descompuso):

Dim dt1 As Date, dt2 As Date, ts As New TimeSpan(-5, 0, 0, 0)
dt1 = Date.Today()
dt2 = dt1.Add(New TimeSpan(-5, 0, 0, 0))
MsgBox("dt1 = " & dt1 & ", dt2=" & dt2)


Salud!
Respuesta Responder a este mensaje
#3 Alberto Poblacion
03/06/2006 - 10:25 | Informe spam
"Adal" wrote in message
news:
En un programa que estoy haciendo, necesito que el datetimepicker tenga
una
fecha limite de X días atras, entonces escribi el siguiente codigo,

DateTimePicker1.MinDate = (CInt(Now.Day) - 5).ToString & "/" &
Now.Month.ToString & "/" & Now.Year.ToString



La forma más sencilla es esta:

DateTimePicker1.MinDate = DateTime.Now.AddDays(-5)
Respuesta Responder a este mensaje
#4 Adal
07/06/2006 - 20:37 | Informe spam
Gracias a todos. Tambien encontre esta forma

'DateTimePicker1.MinDate = Now.Subtract(TimeSpan.FromDays(5))

"Adal" wrote:

En un programa que estoy haciendo, necesito que el datetimepicker tenga una
fecha limite de X días atras, entonces escribi el siguiente codigo,

DateTimePicker1.MinDate = (CInt(Now.Day) - 5).ToString & "/" &
Now.Month.ToString & "/" & Now.Year.ToString

y funciona, excepto los primeros días del mes, y justo ahora detecte el
problema, alguna idea de como obtener el mismo resultado sin importar la
fecha,?? Lo que ahora estoy haciendo es hacer una clase que me detecte eso,
pero... estoy un poco atorado, porque es hay meses de 30 31 y por si fuera
poco, hay de 28 y a veces 29. Primero lo intente con datediff, pero se
necesitan dos fechas como referencia y no encontre la forma.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida