[英]get day difference between two date using carbon
我正在使用laravel和carbon包。我有兩個約會。 現在我想從我給定的日期得到日期差異。
$start_Date='2016-06-02 18:00:13';
$end_Date='2016-06-06 18:00:13';
$start = Carbon::parse($start_Date);
$end = Carbon::parse($end_Date);
$now = Carbon::now();
$length = $start->diffInDays($now);
$lengthFromEnd = $end->diffInDays($now);
if now() == 2016-06-07
然后
$ length將是5 days
$ lengthFromEnd將為-1 days
。
但我的代碼返回異常結果
你也可以嘗試這種方式。
$difference = $start_date->diff($end_date)->days;
對於否定結果,您需要一個add參數,如下所示:
$absolute = false;
$end->diffInDays($now, $absoute);
你的代碼是正確的。 唯一的問題是你得到意想不到的結果。
當你說now() == 2016-06-07
,你忘了考慮時間。 實際上, now
必須是這樣的2016-06-07 15:47:47
。
以來,
$start_Date='2016-06-02 18:00:13';
$end_Date='2016-06-06 18:00:13';
你會得到$length = 4
和$lengthFromEnd = 0
。 當$now
變為2016-06-07 18:00:13
,你將獲得$length = 5
和$lengthFromEnd = 1
。
請注意,由於Carbon給出正數差異,因此不會得到$lengthFromEnd = -1
。
這通常是完美的,但最近我遇到了一些問題,發現我的日期格式為12-02-2020
之間的差異
$endDate = Carbon::createFromFormat('d-m-Y', $data['enddate']);
$left = Carbon::parse(Carbon::now())->floatDiffInDays($endDate, false);
如果日期已過期,則$left
將為負數,並且已經過去的天數,否則將為正數
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.