PHP - Problema con fechas php

 
Vista:

Problema con fechas php

Publicado por Gabriel Villalobos (3 intervenciones) el 13/10/2011 20:13:42
Hola, casi no escribo a foros, pero el problema que se me presenta no he podido solventarlo, resulta que necesito obtener el primer lunes de una semana X, entonces yo digo que día es, que mes y que año, pero por ningún lado encuentro como hacerlo, solo dando la fecha de hoy, pero no se como si uno da un dia x, mes x y año x, por ahora obtento esto así:

$ultimoLunes = date('Y-m-d', strtotime('last monday'));

Esto funciona pero solo para esta semana, pero para cualquier otra nop...

He probado con esto:

$dia = $_GET['dia'];
$mes = $_GET['mes'];
$anho = $_GET['anho'];

$ultimoLunes = date('$anho-$mes-$dia', strtotime('last monday'));

Pero tampoco sirve, si alguien sabe como se hace estaría muy agradecido, lo mismo me pasa con los domingos, pero creo que con saber 1 ya hago el otro, saludos!
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 xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problema con fechas php

Publicado por xve (6935 intervenciones) el 13/10/2011 21:02:12
Hola Gabriel, yo lo haría así:
1
2
3
4
#obtenemos el día de la fecha dada
$diaSemana=date("w",strtotime($anho."-".$mes."-".$dia));
#a la fecha dada, le restamos el dia de la semana y obtendremos el lunes de la fecha
$lunes=date("d/m/Y",mktime(0,0,0,$mes,$dia-$diaSemana,$anho));

No lo he probado, lo he escrito al vuelo...

Coméntanos ok?
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

Problema con fechas php

Publicado por Gabriel Villalobos (3 intervenciones) el 13/10/2011 22:44:23
Hola amigo gracias por la ayuda, pero no me funcionó, eso me devuelve el lunes de la semana pasada, empecé a jugar con eso pero igual tampoco me funcionó, sigo pegado en lo mismo, yo debugueo y todo, estoy utilizando Netbeans 7 con Ubuntu y voy viendo el proceso, pero realmente no he podido resolver esto, si supieras de otra manera me dices, yo aun le apuesto a

$ultimoLunes = substr(date('$anho-$mes-$dia', strtotime('last monday')), 8, 2);

pero lo que no puedo es setear la fecha solo me funciona con

$ultimoLunes = substr(date('Y/m/d', strtotime('last monday')), 8, 2);

que naturalmente no es lo que busco...si tienes otro tip me dices 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
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Devuelve el primer dia de la semana de una fecha dada

Publicado por xve (6935 intervenciones) el 14/10/2011 08:43:58
He probado este código y funciona a la perfección:
1
2
3
4
5
6
7
8
9
10
<?php
$year=2011;
$month=2;
$day=17;
 
#obtenemos el día de la fecha dada
$diaSemana=date("w",strtotime($year."-".$month."-".$day));
#a la fecha dada, le restamos el dia de la semana y obtendremos el lunes de la fecha
echo date("d/m/Y",mktime(0,0,0,$month,$day-$diaSemana+1,$year));
?>
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

Devuelve el primer dia de la semana de una fecha dada

Publicado por Gabriel Villalobos (3 intervenciones) el 14/10/2011 23:32:44
Aqui está mi sulución ya e funcionó solo que mando por parámetro dia, mes y año, creo que hay que cambiar unas cosas pero por ahora me funciona, entonces si a alguien le sirve perfecto, saludos!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function ultimoLunes($day, $month, $year) {
    $ultimoLunes = date(l);
    if ($ultimoLunes !== 'Monday') {
        if (isset($day)) {
            $ultimoLunes = date('Y/m/d', strtotime('last Monday', mktime(0, 0, 0, $month, $day, $year)));
            $ultimoLunes = substr($ultimoLunes, 8, 2);
        } else {
            $ultimoLunes = substr(date('Y/m/d', strtotime('last monday')), 8, 2);
        }
    } else {
        $ultimoLunes = date('d');
    }
    return $ultimoLunes;
}
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
sin imagen de perfil

Devuelve el primer dia de la semana de una fecha dada

Publicado por Jose (36 intervenciones) el 14/01/2014 15:54:26
Amigo entonces si deseo encontrar el ultimo día de la semana como lo haría con este código por que aqui encuentro el primer dia entonces para el ultimo que mas le tendría que agregar

<?php
$year=2014;
$month=01;
$day=18;

#obtenemos el día de la fecha dada
$diaSemana=date("w",strtotime($year."-".$month."-".$day));
#a la fecha dada, le restamos el dia de la semana y obtendremos el lunes de la fecha
echo date("d/m/Y",mktime(0,0,0,$month,$day-$diaSemana+1,$year));
?>
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