0

我正在尝试将以这种格式“d/m/Y”显示的日期更改为这种格式“dmY”,我编写了以下代码:

//Add $license years to today
$today = date("j-m-Y");
$license = $row_customize['license'];
$startdate = $row_customize['startdate'];
list($d,$m,$Y) = explode('/',$startdate);
$newstartDate = $d."-".$m."-".$Y;
$enddate= date("j-m-Y", strtotime("$newstartDate +$license years"));
echo $today;
echo $enddate;

$today 显示正确,但 $enddate 显示的是 1970 年的日期,例如 1-01-1970。

请问我做错了什么?

4

2 回答 2

0

默认日期为 0,相当于 01-01-1970。所以 $newstartDate 和 $license 年份都是 0,所以当加在一起时结果仍然是 0。所以问题是为什么 $newstartDate 和 $license 设置为 0。

我想像 p91paul 说的你可能无法使用 n 年。我认为 $newstartDate 的格式也可能不受支持。您可以在函数中使用 $startDate 然后执行格式更改吗?

于 2013-04-10T22:31:29.053 回答
0

我会放

$newstartDate = $d."-".$m."-".(intval($Y)+intval($license));
$enddate= date("j-m-Y", strtotime($newstartDate));

我认为"<date> + n years"strtotime() 不允许使用该格式

于 2013-04-10T22:20:22.860 回答