如何使用 php 和 symfony 4 获取两个日期之间的差异?

How to get the difference between two dates with php and symfony 4?

我正在开发一个假期管理项目。有一个名为 Conge 的实体,其中包括 date_departuredate_retrunperiod。我做了一个表格和视图。我想设置出发日期和return日期之间的差异。例如,如果用户选择从“04-05-2019”到“04-08-2019”的日期,我如何使用 javascript、php 和 symfony4 获取并显示天数差异?

使用 momentjs (https://momentjs.com/docs/#/displaying/difference/)

var departureRaw = $(".departure").val();
var departureDate = moment(departureRaw);

var returnRaw = $(".return").val();
var returnDate = moment(returnRaw);

var difference = departureDate.diff(returnDate, 'days');

如果您总是为日期使用 m-d-Y 格式,您可以只使用 PHP 来给出天数差异。

$departure ="04-05-2019";
$arrival = "04-08-2019";
$departure = DateTime::createFromFormat('m-d-Y', $departure)->getTimestamp();
$arrival = DateTime::createFromFormat('m-d-Y', $arrival)->getTimestamp();
echo ($arrival - $departure) / (24*60*60);  // 86400 might save some math

对于 php,如前所述 here and here 您可以使用 ->diff() 函数。我不认为 Symfony 有任何功能