爲什麼在使用其他日期時僅在使用25-Oct-13和5天(如預期)時總共只有4天?奇怪的php日期總和行爲
<?php
echo date('d-M-y',(strtotime('25-Oct-13') + (432000)));
?>
爲什麼在使用其他日期時僅在使用25-Oct-13和5天(如預期)時總共只有4天?奇怪的php日期總和行爲
<?php
echo date('d-M-y',(strtotime('25-Oct-13') + (432000)));
?>
這取決於您的時區。十月份的最後一個星期六是某些地區的夏令時(DST)結束。因此,2013年10月26日至27日晚間可能會或可能不會包含額外的時間。
繞過這個問題,通過增加實際的天,而不是小時:
$myDate = new \Datetime('2013-10-25');
$myDate->add(new \DateInterval('P5D'));
This does return Oct 30th 2013。
More strange stuff can happen from incorrectly assuming that days are always exactly 24 hours。
我已經添加了這個:date_default_timezone_set('America/Adak');現在它工作正常。謝謝! – 2014-08-27 11:29:01
更改時區不是解決問題的根本。 – 2014-08-27 11:30:23
我不明白'基本解決方案'的含義,但只要它不會給我帶來麻煩,那就是理想之選。這是我在這些日期裏唯一的操作。沒有其他細節將被使用/添加,永遠。 – 2014-08-27 11:45:03
$ date =「2014-09-17」;
echo date('Y-m-d',strtotime($ date。'+ 5 days'));
夏季和冬季 – Naruto 2014-08-27 11:17:30
因此,再增加一個小時應該解決這個問題? – 2014-08-27 11:18:39
你可以使用'strtotime()'的功能:'25-Oct-13 + 5days' – kero 2014-08-27 11:19:07