Visual Basic - Dias del mes

Life is soft - evento anual de software empresarial
   
Vista:

Dias del mes

Publicado por Ivana Rampoldi (2 intervenciones) el 03/04/2008 23:14:33
Gente necesito si alguien me puede ayudar si conoce alguna función que pasando el mes te tira la cantidad de dias, por ej febrero y me tira 29 se entiende?? desde ya muchas gracias.

saludos.

Ivana
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Dias del mes

Publicado por Ivana (2 intervenciones) el 03/04/2008 23:33:36
me arece que no me entendiste ando buscando una funcion que me de por resultado el 30, 31 el 29 o el 28 se entinde???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Dias del mes

Publicado por Augusto (158 intervenciones) el 03/04/2008 23:37:49
nop no la hay, tienes que aventartela tu, un criterio es el que ya te dijeron otra es obtener el primer dia del siguiente mes y restarle un dia.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Juan Carlos

RE:Dias del mes

Publicado por Juan Carlos (106 intervenciones) el 04/04/2008 06:10:18
Probá con

Dim fecha1 As Date
Dim fecha2 As Date
Dim numdias As Integer
Dim mes As Integer
Dim año As Integer
'-------------------

Private Sub Command1_Click()
mes = Text1.Text 'Por ej.: 02 para febrero
año = Text2.Text 'Por ej.: 08
If mes = 12 Then
numdias = 31
Else
fecha1 = "01/" & mes & "/" & año
fecha2 = "01/" & mes + 1 & "/" & año
numdias = DateDiff("d", fecha1, fecha2) ' devuelve 29
End If
MsgBox numdias
End Sub

Saludos cordiales
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Dias del mes

Publicado por Antoni Masana (79 intervenciones) el 04/04/2008 07:05:13
La cuestion a tu pregunta es para que lo necesitas.
Por que siguiendo con tu ejemplo dices: febrero y da 29.
Y pregunto ¿Por que 29 y no 28? segun la ley de probabilidad solo el 25% de las veces es 29.

Como te han contado mis colegas de 12 meses, 11 ya los sabes y el otro depende del año.

Hay varias varias formas de hacerlo, pero como siempre pasa en informatica las escepciones nos complican la vida y esta es una de ellas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Dias del mes

Publicado por Pere (54 intervenciones) el 04/04/2008 10:35:09
Esto te devuelve si el año es bisiesto o no. A partir de ahí si el mes es febrero, le pasas a la función el año.

Dim Bisiesto as Boolean

Private Sub IsBisiesto(año As Integer)
If (año Mod 4 = 0) And _
((año Mod 100 <> 0) Or (año Mod 400 = 0)) Then
Bisiesto = True
Else
Bisiesto = False
End If
End Sub

Espero haberte ayudado.

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Dias del mes

Publicado por lolo (163 intervenciones) el 04/04/2008 12:40:51
respondiendo a la pregunta original:

Function DiasMes(Fecha As Date) As Integer
DiasMes = Day(DateSerial(Year(Fecha), Month(Fecha) + 1, 0))
End Function

le pasas cualquier fecha a la función y te dará los días que tiene ese mes´sea o no bisiesto.

DiasMes("01/02/2008") -> devuelve 29
DiasMes("15/02/2009") -> devuelve 28
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Juan Carlos

RE:Dias del mes

Publicado por Juan Carlos (106 intervenciones) el 04/04/2008 19:20:17
Excelente, Lolo
Mucho mas sencillo que lo que propuse.
Saludos cordiales
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Dias del mes

Publicado por Ivana (3 intervenciones) el 04/04/2008 21:29:57
Lolo buenisima tu solución eso es lo que necesitaba.

Muchas Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar