Ver Mensaje Individual
  #8 (permalink)  
Antiguo 18/01/2012, 20:20
Avatar de andresdzphp
andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 4 meses
Puntos: 793
Respuesta: desplear dias de la semana en concordancia

Para pasar el tiempo hice algo así, otra forma de mostrar los días en español. De lunes a domingo de la semana actual, lo dejo por si le sirve a alguien:

Código PHP:
Ver original
  1. <?php
  2. //configuración regional para las fechas en español
  3. setlocale(LC_ALL,"es_ES@euro","es_ES","esp");
  4.  
  5. //Si es lunes calculamos a partir de la fecha actual
  6. if (date('w') == 1) {
  7.     $lastm = time();
  8. //Si es otro día buscamos la fecha del lunes pasado.
  9. } else {
  10.     $lastm = strtotime('last monday');
  11. }
  12.  
  13. //Bucle para mostrar los 7 días de la semana
  14. for ($i = 0; $i < 7; $i++) {
  15.     //Sumamos días a la fecha del lunes actual
  16.     $sd = strtotime("+$i day", $lastm);
  17.     //comprobamos si la fecha del bucle es la fecha actual
  18.     if (date('d', $sd) === date('d')) {
  19.         //colocamos una clase para colorear - strftime para mostrar los dias en español
  20.         echo '<span class="now">' . strftime("%A, %d", $sd) . '</span>' . PHP_EOL;
  21.     } else {
  22.         //Sino es el día actual imprimimos sin la clase
  23.         echo '<span>' . strftime("%A, %d", $sd) . '</span>' . PHP_EOL;
  24.     }
  25. }

Estilos CSS:

Código CSS:
Ver original
  1. span {
  2.     display: block;
  3. }
  4.  
  5. .now {
  6.     color: #f00;   
  7. }

Cita:
Resultado:

lunes, 16
martes, 17
miércoles, 18
jueves, 19
viernes, 20
sábado, 21
domingo, 22
Otro calendario mensual:

Código PHP:
Ver original
  1. <?php
  2. function calendar($m, $y) {
  3.     setlocale(LC_ALL, "es_ES@euro", "es_ES", "esp");
  4.     $data = '';
  5.     $ndays = date('t', strtotime("01-$m-$y"));
  6.     $data .= '<ul>' . PHP_EOL;
  7.     for ($i = 0; $i < $ndays; $i++) {
  8.         $ts = strtotime("01-$m-$y + $i day");
  9.         if (date('d-m') === date('d-m', $ts)) {
  10.             $data .= '<li class="now">' . date('d', $ts) . ' | ';
  11.             $data .= strftime("%A", $ts) . '</li>' . PHP_EOL;
  12.         } else {
  13.             $data .= '<li>' . date('d', $ts) . ' | ';
  14.             $data .= strftime("%A", $ts) . '</li>' . PHP_EOL;
  15.         }
  16.     }
  17.     $data .= '</ul>';
  18.     return $data;
  19. }
  20.  
  21. echo calendar(1, 2012);

Estilos css:

Código CSS:
Ver original
  1. .now {
  2.     color: #f00;   
  3. }

Cita:
Resultado:

01 | domingo
02 | lunes
03 | martes
04 | miércoles
05 | jueves
06 | viernes
07 | sábado
08 | domingo
09 | lunes
10 | martes
11 | miércoles
12 | jueves
13 | viernes
14 | sábado
15 | domingo
16 | lunes
17 | martes
18 | miércoles
19 | jueves
20 | viernes
21 | sábado
22 | domingo
23 | lunes
24 | martes
25 | miércoles
26 | jueves
27 | viernes
28 | sábado
29 | domingo
30 | lunes
31 | martes
__________________
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