Foros del Web » Programando para Internet » PHP »

mktime() y date("w")

Estas en el tema de mktime() y date("w") en el foro de PHP en Foros del Web. Hola a todos, me gustaría saber si alguien entiende porque me pasa lo siguiente: He creado un ejemplo de calendario creado con php, con lo ...
  #1 (permalink)  
Antiguo 15/08/2010, 19:06
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Pregunta mktime() y date("w")

Hola a todos, me gustaría saber si alguien entiende porque me pasa lo siguiente:

He creado un ejemplo de calendario creado con php, con lo típico de personalizar su apariencia y moverse por los meses y años que el usuario quiera.
Hacia atrás no hay ningún problema pero al avanzar falla a partir del mes 2 del año 2038.

No da error sino que no coloca bien el orden del calendario a partir de esa fecha y lo único que ocurre es que el date("w") me devuelve el mismo valor de ahí en adelante.
Tambíen da el mismo número de días. ¿Hay algo mal en el mktime() o en el date("t")?
Hacia atrás funciona perfectamente y hacia alante hasta donde dije. Por eso no entiendo que ocurre.

Coloco las líneas donde está el asunto.

Código PHP:
$fecha mktime(0,0,0,$mes,1,$anio);//fecha        
$diamax date("t",$fecha); //dias que tiene ese mes 
$diaSemana=date ("w"$fecha )+1//dia semana // posicion del dia en la semana 
Aviso, el +1 en $diaSemana es un arreglo que uso más adelante, además sólo busco que varíe el valor.

Si a alguien le varia el valor que devuelve que me avise de mi error xD

$fecha = mktime(0,0,0,2,1,2038);
$diamax = date("t",$fecha);
$diaSemana=date ("w", $fecha )+1;

$fecha = mktime(0,0,0,3,1,2038);
$diamax = date("t",$fecha);
$diaSemana=date ("w", $fecha )+1;

$fecha = mktime(0,0,0,4,1,2038);
$diamax = date("t",$fecha);
$diaSemana=date ("w", $fecha )+1;

Coloco un imagen para intentar explicarlo mejor.
Verán que date("w") y el date("t") de los 3 últimos devuelve lo mismo y el calendario se coloca mal.


Espero haberme explicado. Gracias de antemano.

Última edición por IEKK; 15/08/2010 a las 19:11
  #2 (permalink)  
Antiguo 15/08/2010, 19:07
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: mktime() y date("w")

por favor, lee el manual...

ahí viene explicado dicho comportamiento, que deberías saber... no se soportan fechas superiores a dicho año... (:
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 16/08/2010, 04:05
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: mktime() y date("w")

Cita:
Iniciado por pateketrueke Ver Mensaje
por favor, lee el manual...

ahí viene explicado dicho comportamiento, que deberías saber... no se soportan fechas superiores a dicho año... (:
Muchísimas gracias efectivamente Year está limitado.
Pregunté porque pensé que era error mio.
Buscaré en san google pero ¿hay otra función con la que consiga que no de problemas?

Y bueno gracias por creer que debería de haber sabido... pero no m se tooodas las funciones de cada lenguaje... Si sólo fuera php... Lo que tenía era haberme documentado mejor.
De nuevo gracias :P

Etiquetas: mktime
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 11:52.