Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 查找到日期对象之间的天数_Php_Laravel - Fatal编程技术网

Php 查找到日期对象之间的天数

Php 查找到日期对象之间的天数,php,laravel,Php,Laravel,我目前有两个日期对象,如下所示: 2018-01-17 22:50:30 2018-01-23 23:04:36 我想找出他们之间的天数。在Laravel/PHP中,什么是正确的方法?仅仅减去它们就足够了吗 我尝试了下面链接的可能的解决方案,但它对我不起作用。如果您有两个时间戳作为字符串或unix历元,您只需将它们减去并除以1天(以秒计): 如果您使用的是DateTime对象: 因为这是标记为Laravel的,所以您可以访问它,从而使操作变得简单: 假设两者都是实例: $date1->di

我目前有两个日期对象,如下所示:

2018-01-17 22:50:30
2018-01-23 23:04:36

我想找出他们之间的天数。在Laravel/PHP中,什么是正确的方法?仅仅减去它们就足够了吗


我尝试了下面链接的可能的解决方案,但它对我不起作用。

如果您有两个时间戳作为字符串或unix历元,您只需将它们减去并除以1天(以秒计):

如果您使用的是DateTime对象:


因为这是标记为Laravel的,所以您可以访问它,从而使操作变得简单:

假设两者都是实例:

$date1->diffInDays($date2);
雄辩的时间戳会自动转换为碳实例进行操作。

解决方案
$datetime1=新日期时间('2018-01-17 22:50:30');
$datetime2=新的日期时间('2018-01-23 23:04:36');
$interval=$datetime1->diff($datetime2);

echo$interval->格式(“%R%a天”)

我同意使用碳是最好的选择,特别是因为它内置在Laravel中。如果使用的是时间戳以外的datetime字段,则必须在模型上的受保护$dates数组中声明该字段,以便将其转换为Carbon对象。
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days');
$date1->diffInDays($date2);