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.
Switch branches/tags
Nothing to show
Clone or download
Latest commit c81a2f4 Jul 1, 2017
Permalink
Failed to load latest commit information.
Facades Create JDateTime.php Jun 6, 2014
src/Miladr/Jalali Update jDateTime.php Oct 15, 2016
.gitignore First commit Aug 26, 2013
.travis.yml First commit Aug 26, 2013
LICENSE Initial commit Aug 26, 2013
README.md Update README.md Jan 31, 2014
composer.json Update composer.json Jan 31, 2014

README.md

miladr/jalali

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.

Installation

In the require key of composer.json file add the following

    "miladr/jalali": "dev-master"

Run the Composer update comand

$ composer update

In your config/app.php add 'Miladr\Jalali\JalaliServiceProvider' to the end of the $providers array

    'providers' => array(

        'Illuminate\Foundation\Providers\ArtisanServiceProvider',
        'Illuminate\Auth\AuthServiceProvider',
        ...
        'Miladr\Jalali\JalaliServiceProvider',

    ),

Basic Usage

Examples

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

// get relative 'ago' format
$date = jDate::forge('now - 10 minutes')->ago() // ۱۰ دقیقه پیش

Formatting

For help in building your formats, checkout the PHP strftime() docs.

Notes

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.

License