Foros del Web » Programando para Internet » PHP »

Calendario que no concuerda

Estas en el tema de Calendario que no concuerda en el foro de PHP en Foros del Web. Hola!! Tengo un problema con un calendario en php que utilizo en mi web. El problema está en el calendario que muestra los días. Resulta ...
  #1 (permalink)  
Antiguo 29/04/2006, 06:25
RJD
 
Fecha de Ingreso: enero-2006
Mensajes: 64
Antigüedad: 11 años, 11 meses
Puntos: 0
Calendario que no concuerda

Hola!!

Tengo un problema con un calendario en php que utilizo en mi web.
El problema está en el calendario que muestra los días. Resulta que hoy por ejemplo, que hoy, dia 29 (sabado) Me marca, efectivamente que hoy es 29. Pero aparece como que es Viernes!! Esta dijeramos desconcordado un día.

Mi duda es: ¿Cómo puedo poner el calendario de forma que los dias queden bien sincronizados?

Aqui podeis verlo: hhztyle.com/eventos.php


Un cordial saludo
Muchas gracias


Atentamente, Ramón J.
  #2 (permalink)  
Antiguo 29/04/2006, 07:50
RJD
 
Fecha de Ingreso: enero-2006
Mensajes: 64
Antigüedad: 11 años, 11 meses
Puntos: 0
Quizas podria arreglarse aqui

Esta es una parte del script del calendario:

Cita:

if ( ( $cal_year == $now_year ) && ( $cal_month == $now_month ) )
$today_day = $now_day;
else
$today_day = 0;

$days_last_month = gmdate( "d", gmmktime(0,0,0,$cal_month,0,$cal_year ) );
$days_this_month = gmdate( "d", gmmktime(0,0,0,$cal_next_month, 0, $cal_next_year ) );

$first_day_this_month = gmmktime( "0","0","0",$cal_month, "1", $cal_year );
$l_tm = localtime( $first_day_this_month, 1);

// $posx = array();

// what's the weekday of the 1st day of this month?*/
$first_day_pos = $l_tm[ "tm_wday" ];


if ( $first_day_pos == 0 ) $first_day_pos = 7; // convert to Mo=1 to Su=7

$day_num = $days_last_month - ($first_day_pos-2); $class=' class="last_month"';

for ( $y=1; $y<=6; $y++ )
{
echo " <tr>\n";
for ( $x=1; $x<=7; $x++ )
{
if ( ($y==1) && ($x==$first_day_pos) )
{
$day_num = 1; $class="";
}

if ( ($y >1) && ($day_num==$days_this_month+1) )
{
$day_num = 1; $class=' class="next_month"';
}

if ( ($class=="") && ($day_num == $today_day) ) $id=' id="today"'; else $id="";
if ( ( $id!=' id="today"') && ($class=="") && ($day_num == $cal_day ) ) $id=' id="selected"';

if ( $class != "" )
{ $ap1 = ""; $ap2 = ""; }
else
{ $ap1 = '<a href="'.$calendar_open_url."?Y=$cal_year&m=$cal_mo nth&d=$day_num&$ox_tail".'" target="'.$calendar_open_target.'">'; $ap2 = '</a>'; }

if (($booked_events[$day_num] != 0) && $class=="")
echo ' <td'.$class.$id.'>'.$ap1.'<span class="reserved">'.$day_num.'</span>'.$ap2.'</td>'."\n";
else
echo ' <td'.$class.$id.'>'.$ap1.$day_num.$ap2.'</td>'."\n";

$day_num++;
}
echo " </tr>\n";
}

Yo creo que modificando algo de aqui podria arreglarse el problema.
Donde dice // what's the weekday of the 1st day of this month?*/
Solo habria que desplazar el primer dia del mes hacia la derecha. De esta forma todo encajaría.

Alguien sabe como se puede hacer eso??

Muchas gracias
Saludos cordiales
  #3 (permalink)  
Antiguo 29/04/2006, 11:47
 
Fecha de Ingreso: abril-2003
Ubicación: Monterrey, Nuevo Leon Mex
Mensajes: 300
Antigüedad: 14 años, 8 meses
Puntos: 3
Hola. mira yo tengo una estrictura de calendario donde tengo la fecha y el numero de dia, voy y lo busco a la tabla y muestro el dia si te interesa enviame un correo [email protected] y te puedo proporcionar la estructura y el script
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 21:11.