我读到了这个,但不适合我。这是我的代码:
$today = date_create()->format("d/m/Y"); // Today is 25/04/2013
$num_days = GetNumberOfdays();
$end_date = date("d/m/Y", strtotime($today . " + $num_days days"));
我从$end_date
获得的价值是31/12/1969
。我做错了什么?
答案 0 :(得分:2)
请改为尝试:
$end_date = date("d/m/Y", strtotime("+ $num_days days", time()));
编辑:我将$today
变量更改为time()
,如果您只是在寻找今天的日期,这实际上可以为您提供相同的信息。
答案 1 :(得分:1)
从你想要做的事情来看,你今天甚至不需要$(因为如果没有提供日期,它默认为现在),所以你可以这样做:
$end_date = date("d/m/Y", strtotime("+ 5 days"));
echo $end_date;
结果将是
30/04/2013
如果您想提供日期,则根据the manual,您需要反过来参数:
strtotime ( string $time [, int $now = time() ] )
答案 2 :(得分:1)
date_create()
返回DateTime
个对象。
您可以使用DateTime::modify方法。
答案 3 :(得分:1)
$date = new \DateTime(); // Defaults to Today
$num_days = 123;
$date->add(
new \DateInterval('P' . $num_days . 'D')
);
echo $date->format('d-M-Y');
答案 4 :(得分:0)
$today = date_create()->format("d/m/Y"); // Today is 25/04/2013
$num_days = date_create()->format("d");
echo $end_date = date("d/m/Y", strtotime(" + $num_days days"));
答案 5 :(得分:0)
<?
// note change of $today format
$today = date_create()->format("d-m-Y"); // Today is 25-04-2013
$num_days = GetNumberOfdays();
$end_date = date("d/m/Y", strtotime("+" . $num_days . " days", strtotime($today)));
?>