我正在尝试解决我一直遇到的时间错误。下面字符串中的第一个时间戳等于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
答案 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()等的调用之前设置它