Ver Mensaje Individual
  #4 (permalink)  
Antiguo 29/07/2004, 08:14
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Lo que deberías hacer es guardar tus horas en horario GMT 0 para hacer el ajuste en el monento de presentar tus fechas/horas con la diferencia horaria aplicada en función de donde esté el usuario o quieras presentar esos datos ..

En PHP tienes la función mktime() y gmmktiem() par formar horas (pasadas/futuras o ahora). Y con date() le das el formato que necesites para mostrarlo/almacenarlo donde requieras.

Con esas funciones puedes componer tu hora como gustes aplicando la direrencia horaría en el parámetro "hora" de estas funciones.

Pero si usas Base de datos . .deberías hacerlo por SQL y no por médio de PHP, pues todas las BD tienen sus própias funciones para trabajar con fechas (incluso UTC

Si usas Mysql .. te vendría bien leer la documentación al respecto:
http://dev.mysql.com/doc/mysql/en/Da...functions.html

un ejemplo extraido del própio manual (comentarios de los usuarios) sería:

SELECT date_format(DATE_SUB(campo_fecha),
INTERVAL 5 HOUR), '%M %e, %Y at %H:%i EST') as fecha_gmt_5 FROM
tabla;

Ahí mostrarías la fecha almacenada en tu BD con -5 horas de diferencia. Por eso sería recomendable guardar la fecha en GMT 0 ..para que según requieras así muestres tus diferencias horarias . sino, te basas en la diferencia horaria de tu servidor Mysql con respecto a GMT 0 y en lugar de ser -5 si está en otra ubicación .. será -X .. pero el + o - GMT de la hubicación de tu servidor Mysql físicamente será una constante.

Las mismas funciones SQL (menos date_format) podrías aplicarlas para guardar tu fecha con tu deferencia horaria aplicada ..

Un saludo,

Última edición por Cluster; 29/07/2004 a las 08:16