Skip to content

A Laravel Bundle to help working with Jalali (Shamsi) Dates

Notifications You must be signed in to change notification settings

sepehrr/laravel-jdate

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

jDate Bundle for Laravel

This bundle helps developers to easily work with Jalali (Shamsi or Iranian) dates in Laravel applications, based on Jalali (Shamsi) DateTime class.

Features

  • You can pass strings or raw timestamps to make dates. e.g: Next Tuesday
  • You can reforge the current date. e.g: +3 days
  • You can format date using strftime() parameters.

Install

To install using artisan run the following CLI command:

php artisan bundle:install jdate

Or just copy the downloaded package to app/bundles

Then in application/bundles.php add:

'jdate' => array('auto' => true),

Examples

Some Examples

// 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

About

A Laravel Bundle to help working with Jalali (Shamsi) Dates

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 100.0%