But how late is it?

When it comes to messing with dates, times and duration there’s a lot of pitfalls. Again, don’t reinvent the wheel use some one elses great works.


In JavaScript it comes in the form of moment.js. Anything you need to do with a date and time in JavaScript this is the place to start. It helps parsing and formatting as well as any calculations you need.


var first_date = moment(),
    second_date = first_date.add(7, 'days');

if (first_date.isBefore(second_date)) {


On the PHP side Carbon\Carbon is an essential class. So much so Laravel comes with it.

One quirk I had to get my head around was that it creates and object. If you manipulate it with .addDay() because you want to get a second date you’ll find the first date has changed.


use Carbon\Carbon;

$first_date = new Carbon\Carbon::now();
$second_date = $first_date.addDays(7);

You find that both $second_date and $first_date are now equal to the same date – 7 days from today!

So the correct way to achieve this was to make a copy of the first date.

$first_date = new Carbon\Carbon::now();
$second_date = $first_date->copy().addDays(7);