فهرست مستندات پروژه

شروع استفاده

Daynumv1.0.0-beta.4مشاهده منبعفارسی / انگلیسی

نصب Daynum و اجرای یک مثال کامل برای تبدیل تقویم.

نصب

به PHP 8.1 یا بالاتر و Composer نیاز دارید. برای اجرای کتابخانه نه ext-intl لازم است و نه پکیج دیگری در Composer. ابزارهای توسعه از وابستگی‌های dev در composer.json استفاده می‌کنند.

برای نصب نسخه آزمایشی فعلی، نسخه را مشخص کنید:

composer require eram/daynum:1.0.0-beta.4

اگر می‌خواهید نسخه‌های آزمایشی سازگار بعدی هم قابل نصب باشند، از composer require 'eram/daynum:^1.0@beta' استفاده کنید و نسخه نصب‌شده و changelog را بررسی کنید. هیچ‌کدام از این دستورها تغییرات منتشرنشده شاخه توسعه را نصب نمی‌کنند. وضعیت انتشار را ببینید.

اولین مثال

این کد را کنار پوشه vendor/ در فایل example.php ذخیره کنید و php example.php را اجرا کنید. همه مثال‌های کامل این راهنماها از ریشه پروژه اجرا می‌شوند و خروجی دقیق آن‌ها در بلوک text بعد از کد آمده است.

<?php
require 'vendor/autoload.php';

use Eram\Daynum\CivilDateTime;

$d = CivilDateTime::fromGregorian(2026, 4, 8, 14, 30, 0, 'Asia/Tehran');
echo $d->gregorian()->format('Y-m-d H:i'), "\n";
echo $d->jalali()->withLocale('fa')->withDigits('persian')->format('l j F Y'), "\n";
echo $d->hijri()->format('Y/m/d'), "\n";
echo $d->hijriCivil()->format('Y/m/d'), "\n";
2026-04-08 14:30
چهارشنبه ۱۹ فروردین ۱۴۰۵
1447/10/20
1447/10/20

دو تقویم قمری در این تاریخ اتفاقا یک نتیجه دارند؛ در تاریخ‌های دیگر ممکن است متفاوت باشند. هر چهار view همان روز و ساعت ذخیره‌شده را می‌خوانند.

ساخت تاریخ با بررسی اعتبار

متدهای fromGregorian()، fromJalali()، fromHijri() و fromHijriCivil() تاریخ و ساعت را بررسی می‌کنند. نسخه‌های tryFrom…() برای ورودی نامعتبر null برمی‌گردانند؛ تاریخ خارج از محدوده ام‌القری هم شامل این حالت است. متدهای isValid…($year, $month, $day) فقط اعتبار تاریخ را بررسی می‌کنند. ساعت پیش‌فرض نیمه‌شب و برچسب پیش‌فرض منطقه زمانی null است.

اگر از قبل یک DateTimeInterface، از جمله Carbon، دارید از CivilDateTime::fromDateTime($dt) استفاده کنید. برای ثانیه‌های Unix از fromTimestamp($timestamp, 'Asia/Tehran') و برای تاریخ امروز از today('Asia/Tehran') استفاده کنید. متدهای now()، yesterday() و tomorrow() هم در دسترس‌اند. اگر منطقه زمانی این متدها را مشخص نکنید، مقدار پیش‌فرض PHP را استفاده و ذخیره می‌کنند. خروجی این متدها به زمان اجرا بستگی دارد.

در ادامه مفاهیم، خواندن ورودی و محاسبات تاریخ را بخوانید.

جستجو در مستندات

در همه پروژه‌ها جستجو کنید. با بستن این پنجره به راهنما برمی‌گردید.

Tab برای جابه‌جایی · Enter برای باز کردنEsc برای بستن