时间戳一小时

时间:2014-11-11 19:35:01

标签: php timestamp

我正在尝试解决我一直遇到的时间错误。下面字符串中的第一个时间戳等于Sunday 11/02/14 00:00如果我们将其添加24小时,如下所示,我们得到Monday 11/03/14 00:00对吗?如果我们添加13个小时,如下所示,我们应该得到11/03/14 13:00,我想!

虽然,不确定为什么这会一直计算为11/03/14 12:00,但是为什么会这样做呢?

$start_time = $start_date + ($day * 24 * 60 * 60) + ($hours * 60 * 60) + ($minutes * 60);

变量打印

$start_time = 1414900800 + (1 * 24 * 60 * 60) + (13 * 60 * 60) + (00 * 60) = 1415034000 //converted to readable date: 11-03-2014 12:00

2 个答案:

答案 0 :(得分:1)

由于夏令时间在11/02/2014和2014年3月11日之间切换,您收到这些结果,根据您选择的时区,您将浪费一小时的时间。

答案 1 :(得分:0)

尝试date_default_timezone_set:

date_default_timezone_set('America/Los_Angeles'); //uses daylight savings
date_default_timezone_set('Etc/GMT-8');           //does not use daylight savings

带有所需的时区。时区位于http://php.net/manual/en/timezones.php。在任何对date(),strtotime()等的调用之前设置它