Fechas en Visual Basic

Hola, estoy haciendo un programa en VB en el cual utilizo el Mes y el Año de la fecha del día, (format(date, "mmmm"), format(date"yy"), asigno cada uno a una variable y luego las uno un & y los grabo en una celda excel, ejemplo (julio 14)

A la variable que guarda el mes en cada vuelta le sumo 30.4 días para que me genere los 12 meses del año, el problema es que no encuentro la forma de que al llegar a Diciembre 14 y grabar el mes siguiente Enero lo haga Enero 15, no se como incrementar el año en forma automática.

Espero haber sido claro y desde ya agradezco tu ayuda.

Saludos

Adrián

2 Respuestas

Respuesta
3

La forma correcta no es sumarle números a una fecha, hay formas de hacerlo de forma automática y el mismo SO.

La forma correcta es:

Dim Fecha As Date = Date.Now()
Dim Resultado As String = DateAdd(DateInterval.Month, 1, Fecha).ToString()
MessageBox.Show(Resultado)

Yo hago una variable Fecha que contiene el día de hoy.

Luego con esa variable, le agrego un mes, con la función DateAdd.

El primer parámetro es el intervalo que quiero aumentar, en este caso, MES (Month)

Luego le digo cuanto quiero aumentar, en este caso, 1, es decir, 1 mes.

Luego, el tercer parámetro es la fecha base para aumentar el MES, es decir, la variable FECHA que contiene el día de hoy, en caso del ejemplo.

Como lo quiero mostrar en un MessageBox lo paso a cadena con ToString.

Pero en tu caso puedes manejar el resultado como quieras, pero siempre será un resultado en formato Fecha.

Si tienes dudas me lo haces saber.

Me olvidé decir, o aclarar, que como es un fecha, si se pasa al siguiente año, el automáticamente pondrá el siguiente año y si es bisiesto también lo sabrá.

Para saber más sobre DateAdd, aquí tienes más info.

http://msdn.microsoft.com/es-es/library/cc437578(v=vs.71).aspx 

Respuesta
3

No soy un gran experto en Visual Basic pero te respondo de forma genérica con lo que yo haría.

Por lo que veo, pierdes funcionalidad al convertir la fecha a una cadena ya que el objeto de tipo fecha tiene muchas más funcionalidades. Lo ideal sería que pudieras mantener la fecha como tal sin tener que convertirla a cadena y así las operaciones con fechas serían mucho más sencillas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas