Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 2
Ir a la página 1, 2  Siguiente
 
Saber Los Dias Que Tiene Un Mes [SOLUCIONADO]
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Saber Los Dias Que Tiene Un Mes [SOLUCIONADO] 
 
Creo que el Asunto del mensaje es claro, alguien me puede indicar como puedo saber el numero de dias que tiene un mes en concreto?

por ejemplo si Month(Date) me devuelve 2, es decir que estamos en febrero cuantos dias tiene febrero, osea
 quiero una funcion que pasandole el numero de mes me devuelva el numero de dias de ese mes.
 



 
última edición por desoljor el Lunes, 25 Enero 2016, 19:12; editado 1 vez 
desoljor - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Saber Los Dias Que Tiene Un Mes 
 
Por ahora el ayuda puede llegar de la libreria externa Glib-2.0:    

Library "libglib-2.0"

' guint8 g_date_get_days_in_month (GDateMonth month, GDateYear year)
' Returns the number of days in a month, taking leap years into account.
Private Extern g_date_get_days_in_month(GDmonth As Integer, GDyear As Integer) As Byte


Public Sub Main()

  Dim num As Byte
  Dim mes As String
  Dim meses As String[] = [Null, "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio",
                          "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"]
  
    mes = "Febrero"      ' ...o tambien: meses[2]
  
    num = g_date_get_days_in_month(meses.Find(mes), 2016)
    
    Print "El mes de "; mes; " contiene "; num; " días."

End

 



 
última edición por vuott el Lunes, 25 Enero 2016, 17:44; editado 3 veces 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Saber Los Dias Que Tiene Un Mes 
 
¿Necesitas algo genérico o exacto? Es decir, que contemple bisiestos o simplemente que se sepa el viejo cantar de "Treinta días trae Noviembre con abril Junio y Septiempre..."
Si es ésto último es muy sencillito...
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Saber Los Dias Que Tiene Un Mes 
 
vuott no hay forma de hacerlo desde dentro de gambas?
si pongo tu respuesta en el fmain me dice [Fmain.main esta mal sobreescrita en la clase fmain]

Desde luego no he trabajado nunca con librerias externas y no se como usarlas, perdona mi ignorancia.
 



 
desoljor - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Saber Los Dias Que Tiene Un Mes 
 
Shordi necesito algo exacto que me diga los dias de los meses bisiestos o no,
 



 
desoljor - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Saber Los Dias Que Tiene Un Mes 
 
Prueba ésto:

Public function dias(mes as integer) as integer

dim nMaxDias as new integer[4,6,9,11]

if mes=2 then return 28
if nMaxDias.Exist(mes) then return 30
return 31

end


No son los meses los bisiestos, son los años.
En tal caso debes pasar a la función toda la fecha (o al menos el mes y el año) y calcularlo. Puedes ponerle uno bisiesto y ver si el año pasado es bisiesto sumándole 4.
Tampoco es nada difícil.

Saludos.
 




===================
No podemos regresar
 
última edición por shordi el Lunes, 25 Enero 2016, 19:02; editado 1 vez 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Saber Los Dias Que Tiene Un Mes 
 
Gracias Shordi me ha ido de categoria.
 



 
desoljor - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Saber Los Dias Que Tiene Un Mes 
 
Aquí con bisiestos:

Public Function ultimoDia(mes As Integer, ano As Integer) As Integer

Dim nMaxDias As New Integer[4, 6, 9, 11]

If mes = 2 Then
    If (Ano Mod 4 = 0) Then
        Return 29
    Else
        Return 28
    Endif
Endif
If nMaxDias.Exist(mes) Then Return 30
Return 31

End
 

 




===================
No podemos regresar
 
última edición por shordi el Lunes, 25 Enero 2016, 19:16; editado 1 vez 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Saber Los Dias Que Tiene Un Mes [SOLUCIONADO] 
 
Hola,

Shordi, creo que aún no es la solución correcta. Cada cien años no es año bisiesto, salvo que sea múltiplo de 400. En otro hilo aquí mencionaba un pdf y podéis ver también lo que digo referente a nuestro Calendario gregoriano en la Wikipedia: "El calendario gregoriano ajusta este desfase cambiando la regla general del bisiesto cada cuatro años, y hace que se exceptúen los años múltiplos de 100, excepción que a su vez tenía otra excepción, la de los años múltiplos de 400, que sí eran bisiestos."

Saludos
 



 
Alaplancha - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Saber Los Dias Que Tiene Un Mes [SOLUCIONADO] 
 
Buff, me superas, yo sólo he dividido por cuatro. No costaría mucho ajustar los cálculos, supongo, pero tal vez así como está valga para los años "útiles", digamos desde hace 30 años hasta dentro de 30 años...

Si alguno se anima a corregirlo, adelante.
   
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Si Textbox Tiene 12 Caracteres Se Habilita... zero14 General 2 Martes, 17 May 2011, 02:49 Ver último mensaje
zero14
No hay nuevos mensajes Como Saber Que Objeto Tiene El Enfoque aristicol General 12 Viernes, 20 May 2011, 21:37 Ver último mensaje
Ronny
No hay nuevos mensajes Sumar Dias A Una Fecha [SOLUCIONADO] Cubel General 6 Domingo, 11 Diciembre 2011, 23:57 Ver último mensaje
jguardon
No hay nuevos mensajes ¿Hay Alguna Manera De Saber Qué Control ... shordi General 2 Viernes, 14 Febrero 2014, 12:45 Ver último mensaje
Shell
 

Publicar nuevo tema  Responder al tema  Página 1 de 2
Ir a la página 1, 2  Siguiente

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron