我正在尝试将以此格式“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。
请问我做错了什么?
答案 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,然后在?
之后执行格式更改