PHP code example of kampute / civil-date

1. Go to this page and download the library: Download kampute/civil-date 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/ */

    

kampute / civil-date example snippets




ampute\CivilDate\Calendar;
use Kampute\CivilDate\Calendars\JalaliCalendar;
use Kampute\CivilDate\DayOfWeek;
use Kampute\CivilDate\JalaliDate;

$nowruz = JalaliDate::fromGregorianDate(2025, 3, 21);

echo $nowruz;
// 1404/01/01

echo $nowruz->toIso8601DateString();
// 2025-03-21

echo $nowruz->toCalendar(Calendar::Gregorian);
// 2025/03/21

echo $nowruz->isLeapYear ? 'leap' : 'common';
// common

$equinox = JalaliCalendar::instance()->vernalEquinox(1404);

echo $equinox->format('Y-m-d H:i:s P');
// 2025-03-20 12:31:36 +03:30

$firstSaturday = JalaliDate::fromNthDayOfWeekInMonth(
    1404,
    1, // Farvardin
    1, // First occurrence
    DayOfWeek::Saturday
);

echo $firstSaturday;
// 1404/01/02

use Kampute\CivilDate\JalaliDate;

$date = new JalaliDate(1405, 2, 14);

echo $date->format('l j F Y');
// دوشنبه ۱۴ اردیبهشت ۱۴۰۵

echo $date->format('Y/m/d [gregorian:Y-m-d] [islamic:Y/m/d]');
// ۱۴۰۵/۰۲/۱۴ ۲۰۲۶-۰۵-۰۴ ۱۴۴۷/۱۱/۱۷

echo $date->format('روز R و هفته K سال Y');
// روز چهل و پنجم و هفته هفتم سال ۱۴۰۵

$parsed = JalaliDate::parse('دوشنبه ۱۴ اردیبهشت ۱۴۰۵', 'l j F Y');

echo $parsed;
// 1405/02/14

$lastWednesday = JalaliDate::parse('آخرین چهارشنبه ۱۴۰۵', 'K l Y');

echo $lastWednesday;
// 1405/12/26

$ordinalDate = JalaliDate::parse('⁧روز دویست و پنجاه و ششم سال ۱۴۰۶⁩', '⁧روز R سال Y⁩');

echo $ordinalDate;
// 1406/09/10

use Kampute\CivilDate\JalaliDate;

$date = new JalaliDate(1405, 2, 14);

echo $date->format('l j F Y', ['locale' => 'en']);
// Monday 14 Ordibehesht 1405

echo $date->format('l j F Y', ['locale' => 'fa-AF']);
// دوشنبه ۱۴ ثور ۱۴۰۵

$parsed = JalaliDate::parse('Monday 14 Ordibehesht 1405', 'l j F Y', ['locale' => 'en']);

echo $parsed;
// 1405/02/14

use Kampute\CivilDate\Calendars\IslamicCalendar;

IslamicCalendar::instance()->setAuthoritativeMonthLengths([
    1446 => [
        9 => 29,
        10 => 30,
    ],
]);