Foros del Web » Programando para Internet » PHP »

poner el lunes primer dia de la semana

Estas en el tema de poner el lunes primer dia de la semana en el foro de PHP en Foros del Web. Hola me he bajado un script de un calendario, donde puedes elejir el calendario en 4 vistas, por dia, por semana, por mes y por ...
  #1 (permalink)  
Antiguo 25/11/2004, 17:08
 
Fecha de Ingreso: febrero-2002
Ubicación: Valencia - España
Mensajes: 488
Antigüedad: 15 años, 10 meses
Puntos: 0
Pregunta poner el lunes primer dia de la semana

Hola me he bajado un script de un calendario, donde puedes elejir el calendario en 4 vistas, por dia, por semana, por mes y por año. bueno viene de un script ingés por lo que el domingo es el primer dia de la semana y yo no quiero que sea así, quiero que esté el lunes el primero.
Para la vista de la semana no e tenido problema estaba muy claro pero para la vista del mes, no veo por ningún lado donde se lo indicas, a ver si me podeis ayudar a modificarlo, el script es este:
Código PHP:
<?
    $day 
60*60*24;
    
$tablevar = Array();
    
$link_parameters_array = Array(
    );

    
$titles = Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
    if (!isset(
$year))
    {
        
$year date("Y");
    }
    if (!isset(
$month))
    {
        
$month date("m");
    }
    if (!isset(
$curday))
    {
        
$curday "01";
    }
    
$curdatemk mktime(3,0,0,$month,"01",$year);

    
$tablevar["template_path"] = TEMPLATE;
    
$tablevar["table_title"] = date("F",$curdatemk) . " " $year;
    
$tablevar["hrefday"] = "./index.php?" form_link_parameters() . form_calendar_params("day",$year,$month,"01");
    
$tablevar["hrefweek"] =  "./index.php?" form_link_parameters() . form_calendar_params("week",$year,$month,"01");
    
$tablevar["hrefmonth"] = "./index.php?" form_link_parameters() . form_calendar_params("month",$year,$month,"01");
    
$tablevar["hrefyear"] = "./index.php?" form_link_parameters() . form_calendar_params("year",$year,"01","01");

    
$prevmonth $curdatemk $day;
    
$tablevar["hrefprev"] = "./index.php?" form_link_parameters() . form_calendar_params("month"date("Y"$prevmonth), date("m"$prevmonth), "01");

    
$nextmonth $curdatemk $day*32;
    
$tablevar["hrefnext"] = "./index.php?" form_link_parameters() . form_calendar_params("month"date("Y"$nextmonth), date("m"$nextmonth), "01");

    
$daytitles = Array();
    foreach (
$titles as $value
    {
        
$daytitles[] = Array("daytitle" => $value);
    }
    
$tablevar["daytitles"] = $daytitles;

    
$beginmonthdaymk mktime(300$month01$year);
    
$endmonthdaymk mktime(300$monthdate("t",$beginmonthdaymk), $year);
    
$beginmonthday date("w"$beginmonthdaymk);
    
$beginmonthdaymk -= $beginmonthday $day;

    
$endmonthday date("w"$endmonthdaymk);
    
$endmonthdaymk += ($endmonthday) * $day;

    
$events = Array();
    
$events GetEvents($total_user_iddate"Y-m-d"$beginmonthdaymk), date("Y-m-d"$endmonthdaymk));
    
ksort($events);
    
    
$rows = Array();
    
$cols = Array();
    
$i $beginmonthdaymk;
    while ( 
between($i$beginmonthdaymk$endmonthdaymk) )
    {
        
$oneday = Array();
        
$oneday["tdclass"] = (date("m"$i) == $month "monthreg" "monthoff");
        
$oneday["tdclass"] = (date("Y-m-d"$i) == date("Y-m-d") ? "monthon" $oneday["tdclass"]);
        
$oneday["hrefoneday"] = "./index.php?" form_link_parameters() . form_calendar_params("day"date("Y"$i), date("m"$i), date("d"$i));
        
$oneday["daynumber"] = date("d"$i);
        if (isset(
$events[date("Y-m-d"$i)])) 
        {
            
$oneday["eventcontent"] = "";
            
$evlist explode(","$events[date("Y-m-d"$i)]);
            
$times = Array();
            foreach (
$evlist as $key => $value
            {
                
$times[] = "<a class='ps3' href=\"javascript:w=window.open('./?global_external_id=2&id=" $value "&curdate=" date("Y-m-d"$i) . "', 'Popup', 'scrollbars=yes,width=460,height=275,left=200,top=200'); w.focus()" "\">" $events[$value] . "</a>";
            }
            if (
count($times) > 7)
            {
                
array_splice ($times,6);
                
$times[] = "...";
            }
                    
            
$oneday["eventcontent"] .= join("<br>"$times);
        }
        else
        {
            
$oneday["eventcontent"] = "";
        }
        
$cols[] = $oneday;
        if (
date("w"$i) == 6
        {
            
$rows[] =  Array("cols" => $cols);
            unset(
$cols);
            
$cols = Array();
        }
        
$i += $day;
    }
    
$tablevar["rows"] = $rows;
    return 
$tablevar;
?>
Muchas gracias
__________________
webmaster de xematuning el mejor tuning español con más de 25000 fotos sobre el mundo del tuning, videos, salvapantallas, fondos y mucho más no lo dudes más y visítala!!!
  #2 (permalink)  
Antiguo 26/11/2004, 15:28
Avatar de andinistas  
Fecha de Ingreso: julio-2003
Ubicación: Bogotá COL
Mensajes: 1.000
Antigüedad: 14 años, 5 meses
Puntos: 0
ok

y si pruebas asì

Código PHP:

$titles 
= Array("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"); 
osea empieza por Monday

prueba a ver
__________________
Un Saludo, Andinistas.
"Llegaron... Ellos tenían la biblia y nosotros la tierra... y nos dijieron: 'Cierren los ojos y recen.' Cerramos los ojos y cuando los abrimos,
ellos tenían la tierra y nosotros la biblia." Abadío Green.
  #3 (permalink)  
Antiguo 27/11/2004, 11:57
 
Fecha de Ingreso: febrero-2002
Ubicación: Valencia - España
Mensajes: 488
Antigüedad: 15 años, 10 meses
Puntos: 0
no asi no es porque eso cambiaria el nombre a mostrar pero no la fecha con lo cual si por ejemplo el dia 1 era lunes, ahora se verá como martes y asi con todas las fechas, y yo lo que quiero es que empiece por el lunes la fecha.
__________________
webmaster de xematuning el mejor tuning español con más de 25000 fotos sobre el mundo del tuning, videos, salvapantallas, fondos y mucho más no lo dudes más y visítala!!!
  #4 (permalink)  
Antiguo 27/11/2004, 21:33
 
Fecha de Ingreso: febrero-2002
Ubicación: Valencia - España
Mensajes: 488
Antigüedad: 15 años, 10 meses
Puntos: 0
por lo que e estado leyendo puede que sea por la utilización de "w" en vez de "W" pero no se bien como definirla para que funcione
__________________
webmaster de xematuning el mejor tuning español con más de 25000 fotos sobre el mundo del tuning, videos, salvapantallas, fondos y mucho más no lo dudes más y visítala!!!
  #5 (permalink)  
Antiguo 29/11/2004, 06:33
 
Fecha de Ingreso: febrero-2002
Ubicación: Valencia - España
Mensajes: 488
Antigüedad: 15 años, 10 meses
Puntos: 0
me podeis explicar aunque sea la funcion "mktime" la e mirado en la documentación, pero no entiendo porque en el script por ejemplo ponen 3 horas.... y porque para mes y año gasta las variebles, y luego para semana utiliza el 01....

ni veo claro esto tampoco:
$beginmonthday = date("w", $beginmonthdaymk);
$beginmonthdaymk -= $beginmonthday * $day;

para que son cada linea de estas?

luego la última parte del script va definiendo las columnas, y cuando cambiar de línea etc, pero solo e logrado que traiga siempre el 1er dia de mes a lunes, y dejar el hueco al final de la semana en vez de al principio..... (eso en la 1ª línea, y el resto ya se quedan ordenadas como toca). a ver si me podeis ayudar, que me comprometi con esto, creyendo que iva a ser tan facil como la vista de la semana que era cambiar el valor de una variable, y ahora voy perdido.

Gracias
__________________
webmaster de xematuning el mejor tuning español con más de 25000 fotos sobre el mundo del tuning, videos, salvapantallas, fondos y mucho más no lo dudes más y visítala!!!
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 03:32.