许多例子都是关于今天增加的日子。但是,如果我有不同的明星日,怎么做呢?
例如(不起作用):
$day='2010-01-23';
// add 7 days to the date above
$NewDate= Date('$day', strtotime("+7 days"));
echo $NewDate;
上面的例子不起作用。如何通过在Date的位置添加其他内容来更改明星日?
答案 0 :(得分:38)
根据您的代码进行非常基本的修复:
$day='2010-01-23';
// add 7 days to the date above
$NewDate = date('Y-m-d', strtotime($day . " +7 days"));
echo $NewDate;
如果您使用的是PHP 5.3+,则可以使用非常方便的新DateTime库:
$day = '2010-01-23';
// add 7 days to the date above
$NewDate = new DateTime($day);
$NewDate->add(new DateInterval('P7D');
echo $NewDate->format('Y-m-d');
我现在已完全切换到使用DateTime
,因为它非常强大。您还可以在实例化时轻松指定时区,即new DateTime($time, new DateTimeZone('UTC'))
。您可以使用方法add()
和sub()
来更改DateInterval对象的日期。这是文档:
答案 1 :(得分:10)
$NewDate = date('Y-m-d', strtotime('+7 days', strtotime($day)));
答案 2 :(得分:2)
来自php.com binupillai2003
<?php
/*
Add day/week/month to a particular date
@param1 yyyy-mm-dd
@param1 integer
by Binu V Pillai on 2009-12-17
*/
function addDate($date,$day)//add days
{
$sum = strtotime(date("Y-m-d", strtotime("$date")) . " +$day days");
$dateTo=date('Y-m-d',$sum);
return $dateTo;
}
?>