PHP - obtener dias de un mes

   
Vista:

obtener dias de un mes

Publicado por sandra (48 intervenciones) el 11/06/2010 12:25:18
Hola, necesito una función que al pasar el día, el mes y el año, me devuelva por ejemplo todos los lunes del mes y el año que pasé como parámetro.

Algo así:

obtenerDias(Lunes, Junio, 2010)

devuelva: 7, 14, 21, 28

Alguna idea?

Gracias!

Sandra
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:obtener dias de un mes

Publicado por Marcelo Madelon (2 intervenciones) el 11/06/2010 14:06:42
Te paso varios códigos para trabajar con fechas. Algo de esto se ta a servir

1
2
3
4
5
6
! forma una fecha:    Primer Dia del Mes actual del año actual
!                                           01          /    mes actual  /    año Actual
LOC:FechaDesde = DATE(MONTH(TODAY()),1,YEAR(TODAY()))
 
! forma una fecha Primer Dia del Mes actual del año 1999
LOC:FechaDesde = DATE(MONTH(TODAY()),1,1999)

*************************************

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
! Calculo Nombre del Día y si es Sábado o Domingo sumo 2 o 1 para llegar hasta el Lunes
 
EXECUTE (LOC:FECHA % 7) + 1
LOC:Dia = 'Domingo'
LOC:Dia = 'Lunes'
LOC:Dia = 'Martes'
LOC:Dia = 'Miércoles'
LOC:Dia = 'Jueves'
LOC:Dia = 'Viernes'
LOC:Dia = 'Sábado'
END
 
!   Otra forma
LOC:DiaSemana = choose((today() %7)+1,'Domingo','Lunes','Martes','Miércoles','Jueves','Viernes','Sábado')
 
IF LOC:Dia = 'Domingo'
    LOC:Fecha += 1   ! la paso al lunes
End
 
IF LOC:Dia = 'Sábado'
    LOC:Fecha += 2   ! la paso al lunes
End

*****************************
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
! Otra forma
! a esto lo uso para calcular en que dia cae un vencimiento y si cae sábado o domingo le sumo 1 o 2 para pasarla al lunes
 
!   Cargo FechaVenc
 
Resto = (FechaVenc % 7)              !  Averiguo Resto (Modulo)
                                     !  Según el valor de Resto Armo el nombre del dia
!%  Modulus Division (A % B gives the remainder of A divided by B)
 
If  Resto = 0 Then Nombredia = 'Domingo  '.
If  Resto = 1 Then Nombredia = 'Lunes    '.
If  Resto = 2 Then Nombredia = 'Martes   '.
If  Resto = 3 Then Nombredia = 'Miercoles'.
If  Resto = 4 Then Nombredia = 'Jueves   '.
If  Resto = 5 Then Nombredia = 'Viernes  '.
If  Resto = 6 Then Nombredia = 'Sábado   '.
 
IF  Resto = 0                        !  sumo hasta el Lunes
    FechaVenc += 1
    Nombredia = 'Lunes    '
END
If  Resto = 6                        !  sumo hasta el Lunes
    FechaVenc += 2
    Nombredia = 'Lunes    '
END

******************************
! Para Calcular el Número de Semana del Año
Loc:NroSemana = (Loc:Fecha_A_Calcular - date(01,01,year(Loc:Fecha_A_Calcular) / 7
Y tomar la parte entera de esto, sumar 1.
La fecha que formás con DATE debe ser siempre el 1 de enero del año que te interesa.

******************************
1
2
3
4
! Para armar una fecha teniendo tres variables cargadas con dia mes y año
 
Fecha_1 = (Dia&'/'&Mes&'/'&Anio)     !  Armo la fecha sobre un string de 10
FechaVenc = deformat (Fecha_1,@d6)   !  La deformateo (FechaVenc es Date)

******************************

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
! Controlo Fecha Que no sea mayor a Today() y Muestro en el Message el Valor de Today()
 
IF  LOC:FechaHasta  >   Today()
    Message('Fecha Hasta No Puede Ser Mayor a Fecha Actual......'&format(Today(),@d06b),'Mensaje del Sistema',ICON:Exclamation)
    Select(?LOC:FechaHasta)
    CYCLE    ! Regresa el foco a LOC:FechaHasta
End
 
! Cargo Fecha Actual  si la fecha ingresada = cero
 
IF    LOC:FechaHasta =  0
       LOC:FechaHasta =     Today()
END
Display
 
! Cargo una fecha inicial cuando fecha desde es igual a cero
 
IF  LOC:FechaDesde  =   0
    LOC:FechaDesde  =   deformat ('01/01/1950',@d6)
END

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

RE:obtener dias de un mes

Publicado por Marcelo Madelon (2 intervenciones) el 11/06/2010 14:19:21
Perdón, los maté a todos. Son instrucciones de CLARION. perdón una vez mas.

Saludos desde Venado Tuerto - Argentina
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