日期操作无法正常工作

时间:2013-04-10 22:11:31

标签: php date

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

//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;

$今天显示正确,但$ enddate显示我在1970年的日期,例如1-01-1970。

请问我做错了什么?

2 个答案:

答案 0 :(得分:0)

我会把

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

我认为strtotime()

不允许使用格式"<date> + n years"

答案 1 :(得分:0)

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

我认为像p91paul说你可能无法使用n年。我认为$ newstartDate也可能采用不受支持的格式。你可以在函数中使用$ startDate,然后在?

之后执行格式更改