2016-11-24 123 views
2

因此,如果當前日期位於開始日期和結束日期之間,我在控制器中顯示了一個按鈕。這是我到目前爲止所做的:檢查當前日期是否在開始日期和結束日期之間(Laravel 5.3)

@if (Carbon\Carbon::now()->format('Y-m-d') < Carbon\Carbon::parse($edition->start)->format('Y-m-d') && Carbon\Carbon::now()->format('Y-m-d') > Carbon\Carbon::parse($edition->end)->format('Y-m-d')) 
    <p></p> 
@else 
    <div class="tombol-nav"> 
     <a href="../journal/create?edition={{$edition->id}}" class="btn btn-primary">Upload Jurnal Anda Sekarang!</a><br> 
     <p style="color: red;">Penting! Batas waktu terakhir pengunggahan Jurnal pada Edisi ini : {{ Carbon\Carbon::parse($edition->limit)->format('j F, Y') }}</p> 
    </div> 
@endif 

我不知道它有什麼問題,即使結束日期已過,該按鈕仍然會出現。感謝您的幫助。

回答

1

所以我終於通過另一個論壇的人來幫忙,我會在這裏寫下來以防某些人需要它。

@if (Carbon\Carbon::now()->between(Carbon\Carbon::parse($edition->start), Carbon\Carbon::parse($edition->limit))) 
    <div class="tombol-nav"> 
     <a href="../journal/create?edition={{$edition->id}}" class="btn btn-primary">Upload Jurnal Anda Sekarang!</a><br> 
     <p style="color: red;">Penting! Batas waktu terakhir pengunggahan Jurnal pada Edisi ini : {{ Carbon\Carbon::parse($edition->limit)->format('j F, Y') }}</p> 
    </div> 
@else 
    <p></p> 
@endif 
0

請使用此代碼作爲參考檢查laravel中使用碳的兩個日期之間的日期。

$first = Carbon::create(2012, 9, 5, 1); 
$second = Carbon::create(2012, 9, 5, 5); 
var_dump(Carbon::create(2012, 9, 5, 3)->between($first, $second));   // bool(true) 
var_dump(Carbon::create(2012, 9, 5, 5)->between($first, $second));   // bool(true) 
var_dump(Carbon::create(2012, 9, 5, 5)->between($first, $second, false)); // bool(false) 

而且閱讀更多關於碳這裏:http://carbon.nesbot.com/docs/

0

如果條件不中的對象的情況下工作。 ('Y-m-d')返回一個對象。你必須將它轉換爲字符串,然後在if條件中傳遞它。

轉換碳對象到字符串: -

$ carbonDateTimeObject =碳\碳::現在() - > toDateTimeString();

0

更簡單的方法來應對刀片日期比較是使用碳的diffInSeconds()

對於如:

@if(\Carbon\Carbon::now()->diffInSeconds($edition->start, false) > 0) 
    //$edition->start is in the future 
@else 
    //$edition->start is in the past 
@endif 

在這裏看到更多的信息:http://carbon.nesbot.com/docs/#api-difference

所以,你的代碼可能是改寫爲

@if (Carbon::now()->diffInSeconds($edition->start) < 0 && Carbon::now()->diffInSeconds($edition->end, false) > 0) 
    <p></p> 
@else 
    <div class="tombol-nav"> 
     <a href="../journal/create?edition={{$edition->id}}" class="btn btn-primary">Upload Jurnal Anda Sekarang!</a><br> 
     <p style="color: red;">Penting! Batas waktu terakhir pengunggahan Jurnal pada Edisi ini : {{ Carbon\Carbon::parse($edition->limit)->format('j F, Y') }}</p> 
    </div> 
@endif 

Dependi在您需要的精度上,您也可以使用diffInMinutes()或類似的方法。

相關問題