فهرست مستندات پروژه
تقویم قمری محاسباتی
استفاده از تقویم قمری محاسباتی در محدوده پشتیبانیشده.
ساخت تاریخ
از CivilDateTime::fromHijriCivil() و hijriCivil() استفاده کنید. کلاس خواندن ورودی Eram\Daynum\Calendar\Hijri\HijriCivilView است. شناسه تقویم hijri-civil، گروه نامهای زبان hijri و قالب پیشفرض Y/m/d است. نام ماهها با امالقری مشترک است، ولی طول ماهها و تاریخها میتوانند متفاوت باشند.
قانون سال کبیسه
این مدل از چرخه ۳۰ ساله استفاده میکند و سالهای 2، 5، 7، 10، 13، 16، 18، 21، 24، 26 و 29 چرخه کبیسهاند. شرط آن (11 * year + 14) mod 30 < 11 است. ماههای فرد ۳۰ روز و ماههای زوج ۲۹ روز دارند، بهجز ماه 12 که در سال کبیسه ۳۰ روزه است. مبدا JDN 1948440 است: ۱۹ ژوئیه ۶۲۲ در تقویم میلادی تعمیمیافته یا ۱۶ ژوئیه در تقویم ژولیوسی. Daynum برای تقویم ژولیوسی view ندارد.
<?php
require 'vendor/autoload.php';
use Eram\Daynum\CivilDateTime;
$d = CivilDateTime::fromHijriCivil(1, 1, 1);
echo $d->jdn, "\n";
echo $d->gregorian()->format('Y-m-d'), "\n";
var_export(CivilDateTime::isValidHijriCivil(9667, 1, 1));
echo "\n";
1948440
0622-07-19
false
محدوده
ساخت تاریخ سالهای 1 تا 9666 قمری را با احتساب هر دو مرز میپذیرد؛ مرزها در HijriCivilCalendar::MIN_YEAR و MAX_YEAR هستند. این تقویم به جدول امالقری وابسته نیست، ولی نامحدود هم نیست. هنگام تبدیل JDN دلخواه، isInSupportedRange() را بررسی کنید؛ تبدیل معکوس سطح پایین ممکن است سالی بیرون از محدوده ساخت تولید کند.
وقتی برنامه بهطور مشخص محاسبات قمری با قواعد ثابت میخواهد، از جمله برای تاریخهای خارج از جدول امالقری، این مدل را انتخاب کنید. این تقویم جای تصمیمهای محلی یا مذهبی بر پایه رویت ماه را نمیگیرد. نوع islamic-tbla با مبدا پنجشنبه و تقویمهای رصدی ارائه نشدهاند.
امالقری، محاسبات و منابع الگوریتم را ببینید.