Php 将字符串解析为时间戳以查找天数差异
我需要找出两个时间戳之间的天数差异Php 将字符串解析为时间戳以查找天数差异,php,string,laravel,date,parsing,Php,String,Laravel,Date,Parsing,我需要找出两个时间戳之间的天数差异 $now = date("Y-m-d"); //This return 2017-01-04 $last_active = date("Y-m-d", strtotime($user->updated_at->toDateTimeString())); //This returns for example: 2016-07-20 $datediff = $now - $last_active; $days = floor($datediff/
$now = date("Y-m-d");
//This return 2017-01-04
$last_active = date("Y-m-d", strtotime($user->updated_at->toDateTimeString()));
//This returns for example: 2016-07-20
$datediff = $now - $last_active;
$days = floor($datediff/(60*60*24));
此代码在$days内一直返回0
然而,$now
和$last\u active
似乎是字符串,因此我不能将两者相减,然后$days将返回0
如何将两者相减?我需要某种方法将它们解析为某种变量,在那里我可以将两者相减
到目前为止,我尝试了以下方法: 这不起作用,因为我的变量是字符串,这是我的猜测 我也尝试过将日期解析为整数,但这会导致,例如20170104-20160720,它给出的值与两个日期之间的天数差无关
希望得到一些有用的建议 致以最良好的祝愿,
Patrick因为你使用的是Laravel,所以你可以使用开箱即用的碳。使用
diff.()
方法,包括diffInDays
、diffForHumans()
和其他方法:
Carbon::parse($stringDate)->diffInDays(Carbon::now());
如果您需要比较两天(与现在没有区别),只需使用另一个
parse()
,而不是now()
,因为您使用的是Laravel,所以您可以使用现成的碳。使用diff.()
方法,包括diffInDays
、diffForHumans()
和其他方法:
Carbon::parse($stringDate)->diffInDays(Carbon::now());
如果需要比较两天(与现在没有差异),只需使用另一个
parse()
,而不是使用PHPdiff()函数now()
天数差异
$now = new DateTime();
$last_active = new DateTime($user->updated_at->toDateTimeString());
$interval = $now ->diff($last_active);
$difference = $interval->format('%a');
echo $difference;
使用PHPdiff()函数的天数差异
$now = new DateTime();
$last_active = new DateTime($user->updated_at->toDateTimeString());
$interval = $now ->diff($last_active);
$difference = $interval->format('%a');
echo $difference;
你可以用碳很容易地做到这一点
如果您使用的是字符串,那么应该能够使用
$date1 = Carbon\Carbon::parse('January 4th 2017');
$date2 = Carbon\Carbon::parse('January 1st 2017');
这将给你两个碳物体,你现在可以用它们来比较
$days = $date1->diffInDays($date2);
使用Laravel时间戳,您可以从盒子中取出一个碳物体。因此,使用您的示例,您应该能够做到这一点
$days = $user->updated_at->diffInDays(Carbon::now());
你可以用碳很容易地做到这一点
如果您使用的是字符串,那么应该能够使用
$date1 = Carbon\Carbon::parse('January 4th 2017');
$date2 = Carbon\Carbon::parse('January 1st 2017');
这将给你两个碳物体,你现在可以用它们来比较
$days = $date1->diffInDays($date2);
使用Laravel时间戳,您可以从盒子中取出一个碳物体。因此,使用您的示例,您应该能够做到这一点
$days = $user->updated_at->diffInDays(Carbon::now());
对这两个日期使用strotime()
进行比较,将它们计算为自UNIX纪元(1970年1月1日00:00:00 UTC)以来的秒数
例如:
$now = date("Y-m-d");
$last_active = date("Y-m-d", strtotime($user->updated_at->toDateTimeString()));
$current = strtotime($now);
$last = strtotime($last_active);
$diff = $current - $last;
$days = floor($diff/(60*60*24));
对这两个日期使用strotime()
进行比较,将它们计算为自UNIX纪元(1970年1月1日00:00:00 UTC)以来的秒数
例如:
$now = date("Y-m-d");
$last_active = date("Y-m-d", strtotime($user->updated_at->toDateTimeString()));
$current = strtotime($now);
$last = strtotime($last_active);
$diff = $current - $last;
$days = floor($diff/(60*60*24));
您是否也用diff()
函数尝试过它?您是否也用diff()
函数尝试过它?