Clipper/FiveWin - Cantidad de dias x mes

   
Vista:

Cantidad de dias x mes

Publicado por Cesar (28 intervenciones) el 10/03/2016 15:05:13
Hola grupo:
Consulto alguien me podria ayudar o enviarme algun ejemplo de como saber la cantidad de dias que tiene cada mes ?.
Gracias de antemano.

César
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
Imágen de perfil de Alejandro

Cantidad de dias x mes

Publicado por Alejandro (30 intervenciones) el 11/03/2016 00:48:55
Febrero tiene 28 o 29 si es bisiesto
Abril, Junio, Septiembre y Noviembre tienen 30
Los demás 31

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
clear Screen
nMes  := 0
nAnio := 0
@ 2, 2 Say 'MES ANIO'
@ 3, 2 Get nMes range 1, 12 Picture '##'
@ 3, 6 Get nAnio Picture '####'
read
 
aMeses:= {'Enero     ',;
          'Febrero   ',;
          'Marzo     ',;
          'Abril     ',;
          'Mayo      ',;
          'Junio     ',;
          'Julio     ',;
          'Agosto    ',;
          'Septiembre',;
          'Octubre   ',;
          'Noviembre ',;
          'Diciembre '}
aDias := {31,28,31,30,31,30,31,31,30,31,30,31}
 
nDias := aDias[nMes]
IF( nMes=2 )
   IF( (Mod(nAnio,4)=0 .And. Mod(nAnio,100)!=0) .Or. Mod(nAnio,400)=0 )
      nDias++
   EndIF
EndIf
 
cMes  := Trim(aMeses[nMes])
cAnio := LTrim(Str(nAnio))
cDias := LTrim(Str(nDias))
cTxt  := '&cMes. del &cAnio. tiene &cDias. dias'
@ 5, 40-(Len(cTxt)/2) say cTxt
Inkey(5)
Clear Screen
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

Cantidad de dias x mes

Publicado por Carlos Labastida euzkadi30@hotmail.com (139 intervenciones) el 11/03/2016 05:43:51
Ese código tiene un error y es muy grande, hay un algoritmo mas simple para obtener los días del mes sin importar el año, basta con sumar el numero de un ciclo "x" a la fecha "y" mas uno, de este modo se obtiene sin falla el numero exacto de cada mes. solo son 6 lineas de código, no se ocupa mas, saludos !!!
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 Alejandro

Cantidad de dias x mes

Publicado por Alejandro (30 intervenciones) el 11/03/2016 16:56:25
No entendí, pudieras poner el código de ejemplo?
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

Cantidad de dias x mes

Publicado por Carlos Labastida euzkadi30@hotmail.com (139 intervenciones) el 11/03/2016 18:33:13
con gusto mi estimado Alejandro, realmente no acostumbro poner de dominio publico mis códigos, pero voy a hacer una excepción correcto? aquí lo tienes

1
2
3
4
5
6
fFecPro := ctod("1/" + str(month(date()),2) + "/" + str(year(date()),4))
for nDiasxMes := 1 to 31
    if day((fFecPro + nDiasxMes)) == 1
       return(nDiasxMes)
    end
next nDiasxMes


Saludos!!!
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 Alejandro

Cantidad de dias x mes

Publicado por Alejandro (30 intervenciones) el 11/03/2016 19:05:35
Ahora si entendí, das una fecha con día 1 y vas aumentando 1 día hasta que cambie de mes y vuelve a ser 1
No tiene importancia pero se podría asignar 28 a nDiasxMes y así reducir el bucle a máximo 3 ciclos

Buen ejemplo, 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

Cantidad de dias x mes

Publicado por javier (4 intervenciones) el 19/03/2016 18:12:08
Hola, los dias de cada mes son:

enero 31
febrero 28 y cada cuatro años 29 (para saber cuando es tomar el año entre 4 y si el resultado en decimales es zero son 29
marzo 31
abril 30
mayo 31
junio 30
julio 31
agosto 31
septiembre 30
octubre 31
noviembre 30
diciembre 31
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