检查当前日期是否在开始日期和结束日期之间(Laravel 5.3)

时间:2016-11-24 06:14:41

标签: laravel laravel-5

因此,如果当前日期位于开始日期和结束日期之间,我会在控制器中显示此视图以显示按钮。以下是我到目前为止所做的事情:

@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

我不知道它有什么问题,即使结束日期已经过去,该按钮仍然会出现。谢谢你的帮助。

4 个答案:

答案 0 :(得分:1)

所以我终于在另一个论坛的帮助下做了这件事,如果有人需要的话,我会在这里写下来。

Sub Call_Barcode_Service()

Dim strResource As String
Dim strSize As String
Dim iHgt As Integer
Dim iWth As Integer
Dim iGap As Integer
Dim PictureGrab As String
Dim lngLastRow As Long

strSize = UCase(InputBox("How Big?", "Small, Medium or Large?", "L"))

Select Case strSize

    Case Is = "S"
        iWth = 150
        iHgt = 45
        iGap = 3


    Case Is = "M"
        iWth = 150
        iHgt = 60
        iGap = 4

    Case Is = "L"
        iWth = 240
        iHgt = 75
        iGap = 5

    Case Else
        iWth = 250
        iHgt = 75
        iGap = 5

End Select


Set sel = Selection.SpecialCells(xlTextValues)

Set news = Worksheets.Add()
news.Name = "Barcodes"
Set op = news.Range("A1")

For Each acc In sel
strResource = acc.Value

PictureGrab = "http://www.barcodesinc.com/generator/image.php?code=" & strResource & "&style=197&type=C128B&width=" & iWth & "&height=" & iHgt & "&xres=1&font=1"

Set sh = ActiveSheet.Shapes.AddShape(msoShapeRectangle, op.Left, op.Top, iWth, iHgt)

With sh

.Name = strResource
.Line.Visible = False
.Fill.UserPicture PictureGrab

End With

Set op = op.Offset(iGap + 1, 0).Range("A1")

Next

Range("G1").Select

End Sub

答案 1 :(得分: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/

答案 2 :(得分:0)

如果条件在对象的情况下不起作用。

Carbon \ Carbon :: now() - &gt;格式(&#39; Y-m-d&#39;)返回一个对象。您必须将其转换为字符串,然后在if条件中传递它。

将碳对象转换为字符串: -

$ carbonDateTimeObject = Carbon \ Carbon :: now() - &gt; toDateTimeString();

答案 3 :(得分:0)

在Blade中处理日期比较的一种更简单的方法是使用Carbon 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

根据您所需的精确度,您还可以使用diffInMinutes()或类似方法。