存储并显示正确的时间

时间:2015-09-23 21:00:22

标签: php time timezone unix-timestamp

我有多个人将日志文件上传到我的网站,并且正在摄取的信息是时间戳,看起来像Wed Sep 23 13:07:27 2015(这些时间戳无法更改,因为它们是由我没有的程序输出的控制结束)我需要将这些转换为UTC / GMT unix时间戳,我可以访问它们具有的时区偏移(如中央时间的-05:00)我需要将时间戳存储为unix时间戳,因为它们正在显示在网站上设有date_default_timezone_set('America/New_York');的网站。

这是我目前的摄取代码

strtotime($log["tzoffset"] . ' hours',strtotime($log["orig_time"]))

tzoffset是上传文件-05:00

的用户的时区偏移量

orig_time是文件Wed Sep 23 13:07:27 2015

的时间戳

这是显示代码

date_default_timezone_set('America/New_York');

date('m-d-Y h:i A', $times["log_time"])

1 个答案:

答案 0 :(得分:0)

你的问题在这里:

strtotime($log["tzoffset"] . ' hours',strtotime($log["orig_time"]));

$log["tzoffset"] = '-05:00';

由于某些原因,strtotime无法与:一起使用。您只需发送-05即可。如果你不能改变时区偏移的输出,那么我会使用:

$tz = explode(":", $log["tzoffset"]);
strtotime($tz[0] . ' hours',strtotime($log["orig_time"]));