24

I have datetime "2016-11-24 11:59:56". How can I add one hour to this date and compare it with current datetime?

I tried:

$date = "2016-11-24 11:59:56";
$date->addHour();
JillevdW
  • 1,087
  • 1
  • 10
  • 21
Goga
  • 405
  • 1
  • 6
  • 13

2 Answers2

47

Try to parse() it first:

$date = Carbon::parse('2016-11-24 11:59:56')->addHour();

Better way is to add datetime column to a dates variable:

protected $dates = ['datetime_column'];

Then you can just do this:

$date = $model->datetime_column->addHour();
Alexey Mezenin
  • 158,981
  • 26
  • 290
  • 279
21

You can try this:

$date = "2016-11-24 11:59:56";
$carbon_date = Carbon::parse($date);
$carbon_date->addHours(1);

You can now compare the date using lt() & gt() methods of Carbon. See Carbon Comparison Docs for exploring more methods like - eq(), ne(), gte(), lte(), etc.

$carbon_date->lt(Carbon::now()); // Less then current datetime (returns boolean)
$carbon_date->gt(Carbon::now()); // Greater than current datetime (returns boolean)

Hope this helps!

Saumya Rastogi
  • 13,159
  • 5
  • 42
  • 45