error con hora????

Iniciado por Karman, 29 Octubre 2008, 20:11 PM

0 Miembros y 1 Visitante están viendo este tema.

Karman

buenas, tengo una duda sobre la configuración de php y el horario del sistema, la cosa es así, soy de argentina y cambiamos el horario a horario de verano, además tengo configurado para que la hora se actualice automáticamente por internet, el tema es que en internet no tienen esta modificación del "horario de verano", entonces cambié mi zona horaria una hora para que "calce", todo funcionaba bien con el sistema e incluso sql, pero ahora descubro que con php no... en php me adelanta 2 horas cuando llamo a la función time(), será un bug o un problema de configuración???

S2


Dosjota

hola, te comento.. yo lo estoy usando de forma local..
y al llamar a la funcion time()
cuando son las 23:00 me pasa automaticamente a la 01:00 del siguiente dia..

pense que podia ser un problema de configuracion de el servidor..
pero nunca busque una solucion..
como solo pasaba a esa hora..
y a esa hora el sistema no esta trabajando..
:laugh:
;D

Karman

si es raro... la verdad no tiene mucha lógica... no sé de donde sacará la hora PHP... habrá que esperar si alguien tiene alguna idea...

S2

Dosjota

esto encontre:
http://www.webtaller.com/construccion/lenguajes/php/lecciones/mostrar_fecha_hora_php.php

PHP trabaja las fechas a partir de la fecha UNIX timestamp (Segundos desde el mediodía del 1 de Enero de 1970), la forma de conseguir la fecha actual es la siguiente:

<?
$fecha = time ();
?>

Si queremos mostrar detalles de esta fecha, que puede almacenarse por ejemplo en una base de datos utilizaremos la función date:

<?
echo date ( "h:i:s" , $fecha );
?>

Donde "h:i:s" es una cadena que define el formato en que será mostrada la fecha (horas:minutos:segundos) y $fecha, un parametro opcional que indica sobre que valor de tiempo trabajar.

La cadena de formato, se crea combinando con simbolos, letras, numeros y caracteres de formato: a - am/pm
A - AM/PM
B - Hora swatch de internet
d - Dia del mes 01 a 31
g - Hora de 1 a 12
G - Hora de 0 a 23
h - Hora de 01 a 12
H - Hora de 00 a 23
i - Minutos 00 a 59
j - Dia del mes de 1 a 31
m - Numero de mes de 01 a 12
n - Numero de mes de 1 a 12
s - Segundos de 00 a 59
t - Dias del mes de 28 a 31
U - Fecha Unix
w - Dia de la semana de 0 a 6 empezando por Domingo
W - Semana del año ej: 42
y - Año ej: 99
Y - Año ej: 1999
z - Dia del año de 0 a 366 Si queremos escribir 5 del 10 de 1999 haremos:

<?
echo date ( "j del n de Y" );
?>

Como veis para mostrar una letra sin que sea reemplazada por una fecha, le ponemos delante.

Karman

si, eso ya se, pero no tiene nada que ver... de todas formas, estuve buscando yo tb y al parecer es un bug de php, tiene el problema que se resetea la configuración de la zona local, se puede corregir este bug con la siguiente función:

date_default_timezone_set("zona");

donde el parámetro zona es la zona horaria que queremos utilizar, no es la mejor solución, pero es lo que hay... je

S2