增加date到php当前date()

如何在PHP中将当前date添加到特定天数?

我已经得到当前date:

$today = date('y:m:d'); 

只需要将x天添加到它

php支持C风格的datefunction。 您可以通过strtotime函数添加或减less英文风格短语的date。 例子…

 $Today=date('y:m:d'); // add 3 days to date $NewDate=Date('y:m:d', strtotime("+3 days")); // subtract 3 days from date $NewDate=Date('y:m:d', strtotime("-3 days")); // PHP returns last sunday's date $NewDate=Date('y:m:d', strtotime("Last Sunday")); // One week from last sunday $NewDate=Date('y:m:d', strtotime("+7 days Last Sunday")); 

一天是86400秒。

 $tomorrow = date('y:m:d', time() + 86400); 

date_add()函数应该做你想要的。 另外,查看DateTime对象的文档(非官方的,但官方的有些稀疏),比PHP中的过程函数更好用。

用PHP 5.3

  $date = new DateTime(); $interval = new DateInterval('P1D'); echo $date->format('Ym-d') , PHP_EOL; $date->add($interval); echo $date->format('Ym-d'), PHP_EOL; $date->add($interval); echo $date->format('Ym-d'), PHP_EOL; 

会输出

2012年12月24日

2012-12-25

2012-12-26

最简单的方法来添加x号。 天

 echo date('Ym-d',strtotime("+1 day")); //+1 day from today 

OR从指定的date…

 echo date('Ym-d',strtotime("+1 day", strtotime('2007-02-28'))); 

如果你在几个地方需要这个代码,那么我build议你添加一个简短的函数来保持你的代码更简单,更容易testing。

 function add_days( $days, $from_date = null ) { if ( is_numeric( $from_date ) ) { $new_date = $from_date; } else { $new_date = time(); } // Timestamp is the number of seconds since an event in the past // To increate the value by one day we have to add 86400 seconds to the value // 86400 = 24h * 60m * 60s $new_date += $days * 86400; return $new_date; } 

那么你可以在任何地方使用它:

 $today = add_days( 0 ); $tomorrow = add_days( 1 ); $yesterday = add_days( -1 ); $in_36_hours = add_days( 1.5 ); $first_reminder = add_days( 10 ); $second_reminder = add_days( 5, $first_reminder ); $last_reminder = add_days( 3, $second_reminder ); 
 <?php $dt = new DateTime; if(isset($_GET['year']) && isset($_GET['week'])) { $dt->setISODate($_GET['year'], $_GET['week']); } else { $dt->setISODate($dt->format('o'), $dt->format('W')); } $year = $dt->format('o'); $week = $dt->format('W'); ?> <a href="<?php echo $_SERVER['PHP_SELF'].'?week='.($week-1).'&year='.$year; ?>">Pre Week</a> <a href="<?php echo $_SERVER['PHP_SELF'].'?week='.($week+1).'&year='.$year; ?>">Next Week</a> <table width="100%" style="height: 75px; border: 1px solid #00A2FF;"> <tr> <td style="display: table-cell; vertical-align: middle; cursor: pointer; width: 75px; height: 75px; border: 4px solid #00A2FF; border-radius: 50%;">Employee</td> <?php do { echo "<td>" . $dt->format('M') . "<br>" . $dt->format('d M Y') . "</td>\n"; $dt->modify('+1 day'); } while ($week == $dt->format('W')); ?> </tr> </table>