添加一天到一个date
我的代码添加一天到一个date返回date之前添加date: 2009-09-30 20:24:00添加一天后的date应该滚动到下一个月: 1970-01-01 17:33:29 
 <?php //add day to date test for month roll over $stop_date = date('Ymd H:i:s', strtotime("2009-09-30 20:24:00")); echo 'date before day adding: '.$stop_date; $stop_date = date('Ymd H:i:s', strtotime('+1 day', $stop_date)); echo ' date after adding one day. SHOULD be rolled over to the next month: '.$stop_date; ?> 
我之前使用过类似的代码,我在这里做错了什么?
 <?php $stop_date = '2009-09-30 20:24:00'; echo 'date before day adding: ' . $stop_date; $stop_date = date('Ymd H:i:s', strtotime($stop_date . ' +1 day')); echo 'date after adding 1 day: ' . $stop_date; ?> 
对于PHP 5.2.0+,你也可以这样做:
 $stop_date = new DateTime('2009-09-30 20:24:00'); echo 'date before day adding: ' . $stop_date->format('Ymd H:i:s'); $stop_date->modify('+1 day'); echo 'date after adding 1 day: ' . $stop_date->format('Ymd H:i:s'); 
 $date = new DateTime('2000-12-31'); $date->modify('+1 day'); echo $date->format('Ym-d') . "\n"; 
最简单的解决scheme
 $date = new DateTime('+1 day'); echo $date->format('Ymd H:i:s'); 
尝试这个
 echo date('Ymd H:i:s',date(strtotime("+1 day", strtotime("2009-09-30 20:24:00")))); 
简单阅读和理解方式:
 $original_date = "2009-09-29"; $time_original = strtotime($original_date); $time_add = $time_original + (3600*24); //add seconds of one day $new_date = date("Ymd", $time_add); echo $new_date; 
我总是只添加86400(一天中的秒数):
 $stop_date = date('Ymd H:i:s', strtotime("2009-09-30 20:24:00") + 86400); echo 'date after adding 1 day: '.$stop_date; 
这可不是最简单的方法,但它可行!
虽然我同意Doug Hays的回答,但我会在这里指出你的代码不起作用的原因是因为strtotime()期望INT作为第二个参数,而不是string(即使是一个表示date的string)
如果你打开最大错误报告,你会看到这是一个“非正常形成的数值”错误,这是E_NOTICE级别。
以下代码使用DateTime类和它的方法modify()和format()来获得今年1月的第一天(但可以是另一个date),并添加365天到当天(但可以是N天) ):
 echo (new DateTime((new DateTime())->modify('first day of January this year')->format('Ym-d')))->modify('+365 days')->format('Ym-d'); 
  modify()方法可用于将增量添加到现有的DateTime值。 
 用当前的date和时间创build一个新的DateTime对象: 
 $due_dt = new DateTime(); 
 获得DateTime对象后,可以通过添加或减去时间段来操作其值: 
 $due_dt->modify('+1 day'); 
您可以阅读更多的PHP手册 。
- 我怎样才能格式可空的DateTime与ToString()?
- 如何在moment.js中将date格式化为ISO 8601?
- 如何使用Python计算两个date之间的天数?
- 如何将一个Unix时间戳(自epoch以来的秒数)转换为Ruby DateTime?
- Java 8:Instant和LocalDateTime有什么区别?
- 如何将一个Python time.struct_time对象转换为一个date时间对象?
- 在PostgreSQL中使用EXCLUDE防止相邻/重叠条目
- 如何在MacOS上的Shell脚本中将DATE转换为UNIX TIMESTAMP
- 如何使用SimpleDateFormat将string转换为date?