簡體   English   中英

使用碳獲得兩個日期之間的差異

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM