1. Go to this page and download the library: Download soroosh/jalali library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
soroosh / jalali example snippets
public static function now(\DateTimeZone $timeZone = null): Jalalian
$jDate = Jalalian::now();
public static function fromCarbon(Carbon $carbon): Jalalian
$jDate = Jalalian::fromCarbon(Carbon::now());
public static function fromFormat(string $format, string $timestamp, \DateTimeZone$timeZone = null): Jalalian
$jDate = Jalalian::fromFormat('Y-m-d H:i:s', '1397-01-18 12:00:40');
public static function forge($timestamp, \DateTimeZone $timeZone = null): Jalalian
// Alias fo fromDatetime
public static function fromDateTime($dateTime, \DateTimeZone $timeZone = null): Jalalian
$jDate = Jalalian::fromDateTime(Carbon::now())
// OR
$jDate = Jalalian::fromDateTime(new \DateTime());
// OR
$jDate = Jalalian::fromDateTime('yesterday');
public function getMonthDays(): int
$date = (new Jalalian(1397, 1, 18))->getMonthDays()
// output: 31
public function getMonth(): int
$date = (new Jalalian(1397, 1, 18))->getMonth()
// output: 1
public function isLeapYear(): bool
$date = (new Jalalian(1397, 1, 18))->isLeapYear()
// output: false
public function getYear(): int
$date = (new Jalalian(1397, 1, 18))->getYear()
// output: 1397
public function subMonths(int $months = 1): Jalalian
$date = (new Jalalian(1397, 1, 18))->subMonths(1)->toString()
// output: 1396-12-18 00:00:00
public function subYears(int $years = 1): Jalalian
$date = (new Jalalian(1397, 1, 18))->subYears(1)->toString()
// output: 1396-01-18 00:00:00
public function getDay(): int
$date = (new Jalalian(1397, 1, 18))->getDay()
// output: 18
public function getHour(): int
$date = (new Jalalian(1397, 1, 18, 12, 0, 0))->getHour()
// output: 12
public function getMinute(): int
$date = (new Jalalian(1397, 1, 18, 12, 10, 0))->getMinute()
// output: 10
public function getSecond(): int
$date = (new Jalalian(1397, 1, 18, 12, 10, 45))->getSecond()
// output: 45
public function getTimezone(): \DateTimeZone
// Get current timezone
public function addMonths(int $months = 1): Jalalian
$date = (new Jalalian(1397, 1, 18, 12, 10, 0))->addMonths(1)->format('m')
// output: 02
public function addYears(int $years = 1): Jalalian
$date = (new Jalalian(1397, 1, 18, 12, 10, 0))->addYears(1)->format('Y')
// output: 1398
public function getDaysOf(int $monthNumber = 1): int
$date = (new Jalalian(1397, 1, 18, 12, 10, 0))->getDaysOf(1)
// output: 31
public function addDays(int $days = 1): Jalalian
$date = (new Jalalian(1397, 1, 18, 12, 10, 0))->addDays(1)->format('d')
// output: 18
public function toCarbon(): Carbon
$date = (new Jalalian(1397, 1, 18, 12, 10, 0))->toCarbon()->toDateTimeString()
// output: 2018-04-07 12:10:00
public function subDays(int $days = 1): Jalalian
$date = (new Jalalian(1397, 1, 18, 12, 10, 0))->subDays(10)->format('d')
// output: 08
public function addHours(int $hours = 1): Jalalian
$date = (new Jalalian(1397, 1, 18, 12, 10, 0))->addHours(1)->format('H')
// output: 13
public function subHours(int $hours = 1): Jalalian
$date = (new Jalalian(1397, 1, 18, 12, 10, 0))->subHours(1)->format('H')
// output: 11
public function addMinutes(int $minutes = 1): Jalalian
$date = (new Jalalian(1397, 1, 18, 12, 10, 0))->addMinutes(10)->format('i')
// output: 22
public function subMinutes(int $minutes = 1): Jalalian
$date = (new Jalalian(1397, 1, 18, 12, 10, 0))->subMinutes(10)->format('i')
// output: 02
public function addSeconds(int $secs = 1): Jalalian
$date = (new Jalalian(1397, 1, 18, 12, 10, 0))->addSeconds(10)->format('s')
// output: 10
public function subSeconds(int $secs = 1): Jalalian
$date = (new Jalalian(1397, 1, 18, 12, 10, 0))->subSeconds(10)->format('i:s')
// output: 11:40
public function equalsTo(Jalalian $other): bool
$date = (new Jalalian(1397, 1, 18, 12, 10, 0))->equalsTo(Jalalian::now())
// output: false
$date = Jalalian::now()->equalsTo(Jalalian::now())
// output: true
public function equalsToCarbon(Carbon $carbon): bool
$date = Jalalian::now()->equalsToCarbon(Carbon::now())
// output: true
public function greaterThan(Jalalian $other): bool
$date = Jalalian::now()->greaterThan(Jalalian::now()->subDays(1)))
// output: true
public function greaterThanCarbon(Carbon $carbon): bool
$date = Jalalian::now()->greaterThanCarbon(Carbon::now()->subDays(1)))
// output: true
public function lessThan(Jalalian $other): bool
$date = Jalalian::now()->lessThan(Jalalian::now()->addDays(1)))
// output: true
public function lessThanCarbon(Carbon $carbon): bool
$date = Jalalian::now()->lessThanCarbon(Carbon::now()->addDays(1)))
// output: true
public function greaterThanOrEqualsTo(Jalalian $other): bool
$date = Jalalian::now()->greaterThan(Jalalian::now()->subDays(1)))
// output: true
public function greaterThanOrEqualsToCarbon(Carbon $carbon): bool
$date = Jalalian::now()->greaterThanOrEqualsToCarbon(Carbon::now()))
// output: true
public function lessThanOrEqualsTo(Jalalian $other): bool
$date = Jalalian::now()->lessThanOrEqualsTo(Jalalian::now()))
// output: true
public function lessThanOrEqualsToCarbon(Carbon $carbon): bool
$date = Jalalian::now()->lessThanOrEqualsToCarbon(Carbon::now()))
// output: true
public function isStartOfWeek(): bool
$date = (new Jalalian(1397, 6, 24))->isStartOfWeek()
// output: true
public function isSaturday(): bool
$date = (new Jalalian(1397, 6, 24))->isSaturday()
// output: true
public function isDayOfWeek(int $day): bool
$date = (new Jalalian(1397, 6, 24))->isDayOfWeek(0)
// output: true
public function isEndOfWeek(): bool
$date = (new Jalalian(1397, 6, 24))->isEndOfWeek()
// output: false
public function isFriday(): bool
$date = (new Jalalian(1397, 6, 24))->isFriday()
// output: false
public function isToday(): bool
$date = (new Jalalian(1397, 6, 24))->isToday()
// output: (!maybe) true
public function isTomorrow(): bool
$date = (new Jalalian(1397, 6, 25))->isTomorrow()
// output: true
public function isYesterday(): bool
$date = (new Jalalian(1397, 6, 23))->isYesterday()
// output: true
public function isFuture(): bool
$date = (new Jalalian(1397, 6, 26))->isFuture()
// output: true
public function isPast(): bool
$date = (new Jalalian(1397, 5, 24))->isPast()
// output: true
$Jalalian = '1394/11/25 15:00:00';
// get instance of \DateTime
$dateTime = \Morilog\Jalali\CalendarUtils::createDatetimeFromFormat('Y/m/d H:i:s', $Jalalian);
$Jalalian = '1394/11/25 15:00:00';
// get instance of \Carbon\Carbon
$carbon = \Morilog\Jalali\CalendarUtils::createCarbonFromFormat('Y/m/d H:i:s', $Jalalian);
// convert latin to persian
$date = \Morilog\Jalali\CalendarUtils::strftime('Y-m-d', strtotime('2016-05-8'); // 1395-02-19
\Morilog\Jalali\CalendarUtils::convertNumbers($date); // ۱۳۹۵-۰۲-۱۹
// convert persian to latin
$dateString = \Morilog\Jalali\CalendarUtils::convertNumbers('۱۳۹۵-۰۲-۱۹', true); // 1395-02-19
\Morilog\Jalali\CalendarUtils::createCarbonFromFormat('Y-m-d', $dateString)->format('Y-m-d'); //2016-05-8
// convert persian to Carbon
$date = \Morilog\Jalali\Jalalian::fromFormat('Y-m-d', "1395-02-19")->toCarbon();
// ->toString() => Sun May 08 2016 00:00:00 GMT+0000
// Add 4 months to Carbon
$dateAdd4Months = $date->addMonths(4);
// Difference in months
$dateAdd4Months->DiffInMonths($date); //4
$dateAdd4Months->floatDiffInMonths($date); //4.0
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.