How to compare two Carbon Timestamps?

后端 未结 4 632
你的背包
你的背包 2020-11-29 17:52

I have two timestamps, edited_at which I created and created_at (Laravel\'s)... In database, both have type timestamp and default value 0000-00-00 00:00:00... But

相关标签:
4条回答
  • 2020-11-29 18:29

    First, Eloquent automatically converts it's timestamps (created_at, updated_at) into carbon objects. You could just use updated_at to get that nice feature, or specify edited_at in your model in the $dates property:

    protected $dates = ['edited_at'];
    

    Now back to your actual question. Carbon has a bunch of comparison functions:

    • eq() equals
    • ne() not equals
    • gt() greater than
    • gte() greater than or equals
    • lt() less than
    • lte() less than or equals

    Usage:

    if($model->edited_at->gt($model->created_at)){
        // edited at is newer than created at
    }
    
    0 讨论(0)
  • 2020-11-29 18:30

    This is how I am comparing 2 dates, now() and a date from the table

    @if (\Carbon\Carbon::now()->lte($item->client->event_date_from))
        .....
        .....
    @endif
    

    Should work just right. I have used the comparison functions provided by Carbon.

    0 讨论(0)
  • 2020-11-29 18:33

    First, convert the timestamp using the built-in eloquent functionality, as described in this answer.

    Then you can just use Carbon's min() or max() function for comparison. For example:

    $dt1 = Carbon::create(2012, 1, 1, 0, 0, 0); $dt2 = Carbon::create(2014, 1, 30, 0, 0, 0); echo $dt1->min($dt2);

    This will echo the lesser of the two dates, which in this case is $dt1.

    See http://carbon.nesbot.com/docs/

    0 讨论(0)
  • 2020-11-29 18:36

    Carbon has a bunch of comparison functions with mnemonic names:

    • equalTo()
    • notEqualTo()
    • greaterThan()
    • greaterThanOrEqualTo()
    • lessThan()
    • lessThanOrEqualTo()

    Usage:

     if($model->edited_at->greaterThan($model->created_at)){
         // edited at is newer than created at
     }
    

    Valid for nesbot/carbon 1.36.2

    if you are not sure what Carbon version you are on, run this

    $composer show "nesbot/carbon"
    

    documentation: https://carbon.nesbot.com/docs/#api-comparison

    0 讨论(0)
提交回复
热议问题