我在html中输入了2个日期
<tr>
<td>Value Date</td>
<td><input type='date' name='valueDate' class='form-control'></td>
</tr>
<tr>
<td>Maturity Date</td>
<td><input type='date' name='maturityDate' class='form-control'></td>
</tr>
这是操作代码
$valueDate = $_POST['valueDate'];
$maturityDate = $_POST['maturityDate'];
现在,我有一个变量$days
,用于两个日期之间的天数,即是这样的初始值:
$days = date_diff($valueDate,$maturityDate);
这是我的查询:
$query = mysqli_query($conn, "INSERT INTO placement(
valueDate,
maturityDate,
days
) VALUES(
'$valueDate',
'$maturityDate',
'$days'
)");
使用 PHP 7.2.0 来使用date_diff
。
之前,我尝试使用$days->format("%a");
但是我得到了错误。有想法吗?
答案 0 :(得分:1)
这应该有效
$date1 = new DateTime($_POST['valueDate']);
$date2 = new DateTime($_POST['maturityDate']);
$interval = $date1->diff($date2);
答案 1 :(得分:1)
尝试以下代码:
<?php
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days');
?>
答案 2 :(得分:0)
http://php.net/manual/en/class.dateinterval.php
//$d1=new DateTime("2018-07-08");
$d1=new DateTime($_POST['valueDate']);
//$d2=new DateTime("2018-10-08");
$d2=new DateTime($_POST['maturityDate']);
$interval = $d2->diff($d1)->days;