Foros del Web » Programando para Internet » PHP »

Modificar script para generar lunes apartir de hoy?

Estas en el tema de Modificar script para generar lunes apartir de hoy? en el foro de PHP en Foros del Web. Hola a tod@s! Estoy intentando que este codigo genere un lista de 53 lunes a partir de hoy, osea que tome la fecha del dia ...
  #1 (permalink)  
Antiguo 02/10/2011, 06:40
 
Fecha de Ingreso: mayo-2004
Mensajes: 102
Antigüedad: 19 años, 11 meses
Puntos: 5
Pregunta Modificar script para generar lunes apartir de hoy?

Hola a tod@s!

Estoy intentando que este codigo genere un lista de 53 lunes a partir de hoy, osea que tome la fecha del dia que es cuando se ejecuta el script, alguien sabe que cambio tendria que hacer???

for ($i = 1; $i < 53; $i++) {
$lunes = date("d-m-Y", strtotime("2011W".($i < 10?'0'.$i:$i)."1"));
echo $lunes.'<br/>';
}


He probado de muchas maneras pero no consigo apenas modifico algo me da los lunes de 1970 jeje.

Desde ya muchas gracias!
__________________
Bruno Quintana
  #2 (permalink)  
Antiguo 02/10/2011, 08:07
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Modificar script para generar lunes apartir de hoy?

Mejor usa strtotime():
Código PHP:
Ver original
  1. <?php
  2. $nextMonday = strtotime("next Monday");
  3. $i = 0;
  4. do {
  5.     echo date("d-m-Y", $nextMonday) . "<br />\n";
  6.     $nextMonday = $nextMonday + (60*60*24*7);
  7.     $i++;
  8. } while($i < 53);
  #3 (permalink)  
Antiguo 02/10/2011, 12:40
 
Fecha de Ingreso: mayo-2004
Mensajes: 102
Antigüedad: 19 años, 11 meses
Puntos: 5
Respuesta: Modificar script para generar lunes apartir de hoy?

Genio!! has resuelto el problema muchas gracias!
__________________
Bruno Quintana
  #4 (permalink)  
Antiguo 02/10/2011, 12:47
 
Fecha de Ingreso: mayo-2004
Mensajes: 102
Antigüedad: 19 años, 11 meses
Puntos: 5
Respuesta: Modificar script para generar lunes apartir de hoy?

Oye, perdona pero no sabras porque asi no me funciona???
Muchas gracias! un saludo!

<select name="starts" id="starts">


<?php
$nextMonday = strtotime("next Monday");
$i = 0;
do {
?>
<option value=" <?php echo date("d-m-Y", $nextMonday);
$nextMonday = $nextMonday + (60*60*24*7);?>"> <?php echo date("d-m-Y", $nextMonday);$nextMonday = $nextMonday + (60*60*24*7);?>

</option>
<?php
$i++;
} while($i < 53);
?>
</select>
__________________
Bruno Quintana
  #5 (permalink)  
Antiguo 02/10/2011, 12:52
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Modificar script para generar lunes apartir de hoy?

Estas sumándole la semana antes de imprimir lo que esta dentro del <option>

Una cosa, asi como tienes el código es prácticamente ilegible. Trata de organizarlo un poquito mas.

Un saludo.
  #6 (permalink)  
Antiguo 02/10/2011, 13:01
 
Fecha de Ingreso: mayo-2004
Mensajes: 102
Antigüedad: 19 años, 11 meses
Puntos: 5
Pregunta Respuesta: Modificar script para generar lunes apartir de hoy?

Ya he solucionado, no me habia dado cuenta que estaba repitiendo la funcion de sumarle una semana entonces sumaba dos semanas.
Pero me he dado cuenta de una cosa la cuenta no es exacta ya que en un mes, me da los domingos en vez de lunes mira:

03-10-2011
10-10-2011
17-10-2011
24-10-2011
30-10-2011
06-11-2011
13-11-2011
20-11-2011
27-11-2011
04-12-2011
11-12-2011
18-12-2011
25-12-2011
01-01-2012
08-01-2012
15-01-2012
22-01-2012
29-01-2012
05-02-2012
12-02-2012
19-02-2012
26-02-2012
04-03-2012
11-03-2012
18-03-2012

26-03-2012
02-04-2012
09-04-2012
16-04-2012
23-04-2012
30-04-2012
07-05-2012
14-05-2012
21-05-2012
28-05-2012
04-06-2012
11-06-2012
18-06-2012
25-06-2012
02-07-2012
09-07-2012
16-07-2012
23-07-2012
30-07-2012
06-08-2012
13-08-2012
20-08-2012
27-08-2012
03-09-2012
10-09-2012
17-09-2012
24-09-2012
01-10-2012


Mira todo lo que esta en rojo son domingos mientras que los otros son lunes, que raro no? sera porque la función redondea? y depende de la hora que sea ejecutado el script que varia? Alguien sabe la solución?
Un saludo! y muchísimas gracias!
__________________
Bruno Quintana
  #7 (permalink)  
Antiguo 02/10/2011, 13:10
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Modificar script para generar lunes apartir de hoy?

Yo no tuve ese inconveniente, mira el resultado generado cuando lo corrí:
Código HTML:
Ver original
  1. <select name="starts" id="starts">
  2.  
  3. <option value=" 03-10-2011"> 03-10-2011</option>
  4.  
  5. <option value=" 10-10-2011"> 10-10-2011</option>
  6.  
  7. <option value=" 17-10-2011"> 17-10-2011</option>
  8.  
  9. <option value=" 24-10-2011"> 24-10-2011</option>
  10.  
  11. <option value=" 31-10-2011"> 31-10-2011</option>
  12.  
  13. <option value=" 07-11-2011"> 07-11-2011</option>
  14.  
  15. <option value=" 14-11-2011"> 14-11-2011</option>
  16.  
  17. <option value=" 21-11-2011"> 21-11-2011</option>
  18.  
  19. <option value=" 28-11-2011"> 28-11-2011</option>
  20.  
  21. <option value=" 05-12-2011"> 05-12-2011</option>
  22.  
  23. <option value=" 12-12-2011"> 12-12-2011</option>
  24.  
  25. <option value=" 19-12-2011"> 19-12-2011</option>
  26.  
  27. <option value=" 26-12-2011"> 26-12-2011</option>
  28.  
  29. <option value=" 02-01-2012"> 02-01-2012</option>
  30.  
  31. <option value=" 09-01-2012"> 09-01-2012</option>
  32.  
  33. <option value=" 16-01-2012"> 16-01-2012</option>
  34.  
  35. <option value=" 23-01-2012"> 23-01-2012</option>
  36.  
  37. <option value=" 30-01-2012"> 30-01-2012</option>
  38.  
  39. <option value=" 06-02-2012"> 06-02-2012</option>
  40.  
  41. <option value=" 13-02-2012"> 13-02-2012</option>
  42.  
  43. <option value=" 20-02-2012"> 20-02-2012</option>
  44.  
  45. <option value=" 27-02-2012"> 27-02-2012</option>
  46.  
  47. <option value=" 05-03-2012"> 05-03-2012</option>
  48.  
  49. <option value=" 12-03-2012"> 12-03-2012</option>
  50.  
  51. <option value=" 19-03-2012"> 19-03-2012</option>
  52.  
  53. <option value=" 26-03-2012"> 26-03-2012</option>
  54.  
  55. <option value=" 02-04-2012"> 02-04-2012</option>
  56.  
  57. <option value=" 09-04-2012"> 09-04-2012</option>
  58.  
  59. <option value=" 16-04-2012"> 16-04-2012</option>
  60.  
  61. <option value=" 23-04-2012"> 23-04-2012</option>
  62.  
  63. <option value=" 30-04-2012"> 30-04-2012</option>
  64.  
  65. <option value=" 07-05-2012"> 07-05-2012</option>
  66.  
  67. <option value=" 14-05-2012"> 14-05-2012</option>
  68.  
  69. <option value=" 21-05-2012"> 21-05-2012</option>
  70.  
  71. <option value=" 28-05-2012"> 28-05-2012</option>
  72.  
  73. <option value=" 04-06-2012"> 04-06-2012</option>
  74.  
  75. <option value=" 11-06-2012"> 11-06-2012</option>
  76.  
  77. <option value=" 18-06-2012"> 18-06-2012</option>
  78.  
  79. <option value=" 25-06-2012"> 25-06-2012</option>
  80.  
  81. <option value=" 02-07-2012"> 02-07-2012</option>
  82.  
  83. <option value=" 09-07-2012"> 09-07-2012</option>
  84.  
  85. <option value=" 16-07-2012"> 16-07-2012</option>
  86.  
  87. <option value=" 23-07-2012"> 23-07-2012</option>
  88.  
  89. <option value=" 30-07-2012"> 30-07-2012</option>
  90.  
  91. <option value=" 06-08-2012"> 06-08-2012</option>
  92.  
  93. <option value=" 13-08-2012"> 13-08-2012</option>
  94.  
  95. <option value=" 20-08-2012"> 20-08-2012</option>
  96.  
  97. <option value=" 27-08-2012"> 27-08-2012</option>
  98.  
  99. <option value=" 03-09-2012"> 03-09-2012</option>
  100.  
  101. <option value=" 10-09-2012"> 10-09-2012</option>
  102.  
  103. <option value=" 17-09-2012"> 17-09-2012</option>
  104.  
  105. <option value=" 24-09-2012"> 24-09-2012</option>
  106.  
  107. <option value=" 01-10-2012"> 01-10-2012</option>
  108.  
  #8 (permalink)  
Antiguo 02/10/2011, 13:22
 
Fecha de Ingreso: mayo-2004
Mensajes: 102
Antigüedad: 19 años, 11 meses
Puntos: 5
Respuesta: Modificar script para generar lunes apartir de hoy?

Que raro, yo en local tengo esos resultados y lo he subido y tambien, pero bueno puede que sea mi pc entonces luego probare con otro.

Muchas gracias!!!
Un saludo!
__________________
Bruno Quintana
  #9 (permalink)  
Antiguo 02/10/2011, 21:31
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 8 meses
Puntos: 793
Respuesta: Modificar script para generar lunes apartir de hoy?

El script de Ronruby me funciona perfectamente. Otra alternativa sería:

Código PHP:
Ver original
  1. <?php
  2. for ($i = 0; $i < 53; $i++) {
  3.     $lunes = date("d-m-Y", strtotime("next Monday + $i week"));
  4.     echo $lunes . '<br/>';
  5. }

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Etiquetas: lunes, modificar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:11.