This Package helps developers to easily work with Jalali (Shamsi or Iranian) dates in Laravel 4 applications, based on Jalali (Shamsi) DateTime class. This Package is based on a Laravel 3 bundle sallar/laravel-jdate by Sallar Kaboli.
mmkargar/jalali is a Laravel package for this package helps developers to easily work with jalali (shamsi or iranian) dates in laravel 4 applications, based on jalali (shamsi) datetime class. this package is based on a laravel 3 bundle sallar/laravel-jdate by sallar kaboli..
It currently has 0 GitHub stars and 15 downloads on Packagist (latest version v1.0.1).
Install it with composer require mmkargar/jalali.
Discover more Laravel packages by mmkargar
or browse all Laravel packages to compare alternatives.
Last updated
Run the Composer update comand
$ composer require mmkargar/jalali
In your config/app.php add 'MmKargar\Jalali\JalaliServiceProvider' to the end of the $providers array
'providers' => [
'Illuminate\Foundation\Providers\ArtisanServiceProvider',
'Illuminate\Auth\AuthServiceProvider',
...
'MmKargar\Jalali\JalaliServiceProvider',
],
.
.
.
.
.
'alias' => [
...
'jDate' => 'MmKargar\Jalali\Facades\jDate',
'jDateTime' => 'MmKargar\Jalali\Facades\jDateTime',
]
Some Examples (based on examples provided by Sallar)
// default timestamp is now
$date = jDate::forge();
// pass timestamps
$date = jDate::forge(1333857600);
// pass strings to make timestamps
$date = jDate::forge('last sunday');
// get the timestamp
$date = jDate::forge('last sunday')->time(); // 1333857600
// format the timestamp
$date = jDate::forge('last sunday')->format('%B %d، %Y'); // دی 02، 1391
// get a predefined format
$date = jDate::forge('last sunday')->format('datetime'); // 1391-10-02 00:00:00
$date = jDate::forge('last sunday')->format('date'); // 1391-10-02
$date = jDate::forge('last sunday')->format('time'); // 00:00:00
// amend the timestamp value, relative to existing value
$date = jDate::forge('2012-10-12')->reforge('+ 3 days')->format('date'); // 1391-07-24
//convert jalali to gregorian
$date = JDate::jalaliToGregorian("1399/09/15"); // output : 2020-12-05
// get relative 'ago' format
$date = jDate::forge('now - 10 minutes')->ago() // ۱۰ دقیقه پیش
//date_parse_from_format for jalali date
$date = jDate::parseFromFormat('Y/m/d', '1393/01/18');
echo $date['year']; //1393
echo $date['month']; //01
echo $date['day']; //18
For help in building your formats, checkout the PHP strftime() docs.
The class relies on strtotime() to make sense of your strings, and strftime() to make the format changes. Just always check the time() output to see if you get false timestamps... which means the class couldn't understand what you were telling it.