php - sostener - como sujetar una copa de vino tinto
PHP: diferencia de marca de tiempo incorrecta (2)
El último debe ser gmdate
lugar de date
:
''<b>Time difference::</b> '' . gmdate(''h:i:s'', $time_diff);
date
ajusta a su configuración regional actual, que parece ser GMT + 1. gmdate
no hace ese ajuste.
Supongo que solo está planeando usar esto para las diferencias de tiempo de menos de 24 horas.
La situación
Tengo dos marcas de tiempo.
Uno con la hora de inicio y otro con la hora de finalización.
La hora de inicio es: 04:43:37
La hora de finalización es: 11:59:59
Ahora estoy tratando de obtener la diferencia entre las fechas como esta:
//define timestamps
$start_time = 1297698217;
$end_time = 1297724399;
$time_diff = $end_time - $start_time;
//display times and difference
echo
''<b>Start time:</b> '' . date(''d-m-Y h:i:s'', $start_time) . ''<br />'' .
''<b>End time:</b> '' . date(''d-m-Y h:i:s'', $end_time) . ''<br />'' .
''<b>Time difference::</b> '' . date(''h:i:s'', $time_diff);
El resultado
Start time: 14-02-2011 04:43:37
End time: 14-02-2011 11:59:59
Time difference: 08:16:22
El problema
Ahora el problema es que el resultado debería ser 07:16:22. Lo he intentado con tiempos diferentes, pero cada vez obtengo el mismo resultado. Una hora de diferencia.
¿Hay un experto dispuesto a ayudar?
Le está pidiendo que convierta 1970-01-01 07:16:22 en una cadena de tiempo para mostrar; habrán diferencias según su zona horaria.
Para que sea una fecha GMT, use gmdate () pero esto aún le causará problemas cuando las diferencias de tiempo sean> 24 horas.