2016-11-24 66 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()或类似的方法。

相关问题