Get The Difference Between Two Date In Laravel Using jpmurray/laravel-countdown

Today, Laravelcode share with you how to get defference between two date in laravel. some time you need two calculation of defference between two date. in many type situation like generate report, generate chart etc..

You also done this with laravel carbon, but in this tutorials we are share with you with one laravel package jpmurray/laravel-countdown. this package provide very easy way to calculate two deffrence date duration.

Step : 1 Install package

First we need to install jpmurray/laravel-countdown laravel package in our laravel application run following command.


composer require jpmurray/laravel-countdown

Step : 2 Configure package

After installtion done then configure package. so, open our config/app.php file and set service provider and aliases in it. just following this way


'providers' => [
	....
	jpmurray\LaravelCountdown\CountdownServiceProvider::class,
],
'aliases' => [
	....
	'Countdown' => jpmurray\LaravelCountdown\Facades\CountdownFacade::class,
],

Step : 3 Usage

Then after you can use in you laravel controller in following way


use jpmurray\LaravelCountdown\Countdown;

// To get time from 5 years ago until now, you can do the following.
// Note that you can send a string to the from and to methods, we will
// try to parse it with Carbon behind the scene
$countdown = Countdown::from(Carbon\Carbon::now()->subYears(5))->to(Carbon::now())->get();

// The above will return the Countdown class where you can access the following values.
// Those mean that from 5 years ago to now, there is 5 years, 1 week, 1 day, 2 hours 15 minutes and 23 seconds
$countdown->years; // 5
$countdown->weeks; // 1
$countdown->days; // 1
$countdown->hours; // 2
$countdown->minutes; // 15
$countdown->seconds; // 23

// It will of course, also work in reverse order of time.
// This will get the time between now and some future date
$countdown = Countdown::from(Carbon\Carbon::now())->to(Carbon\Carbon::now()->addYears(5))->get();

Step : 3 Trait

// For convenience, we provide a trait that you can add to any model in your Laravel app that provides
// quick methods to get the values of time between dates. For example:

use jpmurray\LaravelCountdown\Traits\CalculateTimeDiff;

class User extends Authenticatable
{
    use Notifiable, CalculateTimeDiff;
    //...
}

// This enables the following:
// You should have casted your attributes to dates beforehand

$user = User::find(1);
$user->elapsed('trial_ends_at'); // get the time elapsed between the date in attribute trial_ends_at to now
$user->until('trial_ends_at'); // get the time from now until the date in attribute trial_ends_at

If you face any problem then please write a comment or give some suggestions for improvement. Thanks...

 Prev post

Next post