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

مرجع API

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

پیدا کردن متدهای عمومی، مقدار پیش‌فرض آرگومان‌ها و نوع خروجی.

جدول‌ها متدهای مرتبط را کنار هم نشان می‌دهند. تعریف کامل در CivilDateTime، CalendarView و AbstractCalendarView است. مگر جایی که جداگانه گفته شده، namespace نام‌ها Eram\Daynum است. نوع خطاها در راهنمای خطا آمده است.

CivilDateTime

APIآرگومان و خروجی
__constructint $jdn, int $secondsOfDay = 0, ?string $tzLabel = null
fromGregorian, fromJalali, fromHijri, fromHijriCivilint $year, int $month, int $day, int $hour = 0, int $minute = 0, int $second = 0, ?string $tzLabel = null → CivilDateTime
tryFromGregorian, tryFromJalali, tryFromHijri, tryFromHijriCivilهمان آرگومان‌ها → ?CivilDateTime
isValidGregorian, isValidJalali, isValidHijri, isValidHijriCivilint $year, int $month, int $day → bool؛ فقط تاریخ
fromDateTimeDateTimeInterface $dt → CivilDateTime
fromTimestampint $timestamp, string $tzLabel = 'UTC' → CivilDateTime
now, today, tomorrow, yesterday?string $tzLabel = null → CivilDateTime؛ null یعنی استفاده و ذخیره پیش‌فرض PHP
fromArrayarray $data → CivilDateTime؛ معکوس jsonSerialize()
gregorian, jalali, hijri, hijriCivilبدون آرگومان → view همان تقویم
jsonSerializeبدون آرگومان → آرایه شامل jdn، secondsOfDay و tzLabel
toDateTimeImmutable, toTimestampبدون آرگومان → DateTimeImmutable / int
withJdn, withTzLabelint $jdn / ?string $tzLabel → CivilDateTime
withTimeint $hour, int $minute, int $second → CivilDateTime
addSeconds, subSeconds, addMinutes, subMinutes, addHours, subHours, addDays, subDays, addWeeks, subWeeksمقدار صحیح اجباری → CivilDateTime؛ جابه‌جایی ساعت محلی
startOfDay, endOfDayبدون آرگومان → CivilDateTime
equals, lessThan, greaterThan, lessThanOrEqual, greaterThanOrEqual, isSameDayCivilDateTime $other → bool
diffInDays, diffInSeconds, diffInMinutes, diffInHoursCivilDateTime $other → int علامت‌دار
استاتیک compareCivilDateTime $a, CivilDateTime $b → int
استاتیک min, maxCivilDateTime $first, CivilDateTime ...$rest → CivilDateTime
betweenCivilDateTime $a, CivilDateTime $b, bool $inclusive = true → bool

jdn، secondsOfDay و tzLabel پراپرتی‌های عمومی readonly هستند. همه مقایسه‌های مقدار اصلی برچسب را نادیده می‌گیرند. مفاهیم و منطقه زمانی را ببینید.

Viewهای تقویم

کلاس‌ها: Calendar\Gregorian\GregorianView، Calendar\Jalali\JalaliView، Calendar\Hijri\HijriUmmAlQuraView و Calendar\Hijri\HijriCivilView.

APIآرگومان و خروجی
استاتیک ofCivilDateTime $dateTime, ?string $locale = null, string $digitScript = 'latn' → همان نوع view؛ locale برابر null یعنی en
استاتیک parseExact, tryParseExactstring $text, string $format, ?string $tzLabel = null, ?string $locale = null → CivilDateTime / ?CivilDateTime
dateTime, calendarبدون آرگومان → CivilDateTime / Calendar
year, month, day, hour, minute, secondبدون آرگومان → int
dayOfWeek, dayOfWeekIso, dayOfYear, weekOfYear, weekBasedYear, daysInMonth, daysInYear, quarterبدون آرگومان → int
isLeapYear, isWeekend, isWeekday, isInSupportedRangeبدون آرگومان → bool
weekDayبدون آرگومان → WeekDay
format, __toStringstring $pattern / بدون آرگومان → string
withLocale, withDigitsstring $locale / string $script → همان نوع view
toArrayبدون آرگومان → اجزای تقویم با کلیدهای نام‌دار؛ ذخیره‌سازی را ببینید
addDays, subDays, addMonths, subMonths, addYears, subYearsمقدار صحیح اجباری → CivilDateTime
withاعداد صحیح nullable به نام year، month، day، hour، minute و second، هر کدام با پیش‌فرض null → CivilDateTime
startOfMonth, endOfMonth, startOfYear, endOfYear, startOfQuarter, endOfQuarterبدون آرگومان → CivilDateTime؛ ساعت حفظ می‌شود
startOfWeek, endOfWeekWeekDay|int|null $weekStart = null → CivilDateTime؛ null یعنی استفاده از locale
diffInMonths, diffInYearsCivilDateTime $other → int علامت‌دار
diffForHumans, agoCivilDateTime $other / بدون آرگومان → string
فقط شمسی: season, seasonNameبدون آرگومان → Season / string

Calendar

هر چهار پیاده‌سازی متد استاتیک instance() دارند. Calendar اجزای تاریخ را بدون ساعت و منطقه زمانی به JDN تبدیل می‌کند:

متدخروجی
toJdn(int $year, int $month, int $day)int؛ تاریخ را بررسی می‌کند
fromJdn(int $jdn)[year, month, day]
isLeapYear(int $year), supportsYear(int $year)bool
daysInMonth(int $year, int $month), monthsInYear(int $year)int
dayOfYear(int $year, int $month, int $day)int از یک؛ ورودی را از قبل بررسی کنید
name(), localeFamily()string
supportedRange()[minJdn, maxJdn] با احتساب ابتدا و انتها

برای ساخت تاریخ معتبر از factoryها استفاده کنید. تبدیل معکوس سطح پایین همه سال‌های خارج از محدوده را به یک شکل رد نمی‌کند. محدوده تقویم‌ها را ببینید.

Enumها

WeekDay: Monday=1، Tuesday=2، Wednesday=3، Thursday=4، Friday=5، Saturday=6 و Sunday=7. Season: Spring=1، Summer=2، Autumn=3 و Winter=4. هر دو enum با مقدار صحیح هستند.

LocaleRegistry و LocaleData

در namespace به نام Eram\Daynum\Locale، متدهای استاتیک LocaleRegistry::get(string $tag): LocaleData، register(string $tag, LocaleData $locale): void، has(string $tag): bool، tags(): array و normalize(string $tag): string زبان‌های مشترک فرایند را مدیریت می‌کنند. normalize() فقط متن را یکدست می‌کند؛ get() و register() تگ را اعتبارسنجی می‌کنند.

رابط LocaleData این متدها را می‌خواهد: tag()، monthName() و monthNameShort() با گروه تقویم و ماه، weekdayName() و weekdayNameShort() با یکشنبه=0، meridiem(bool $isPm, bool $uppercase)، ordinalSuffix(int $day)، firstDayOfWeek(): WeekDay، weekendDays(): array، relativeTime(int $value, string $unit, bool $future)، relativeTimeNow() و seasonName(Season $season). متدهای نام و عبارت، رشته برمی‌گردانند. رابط و مثال زبان سفارشی را ببینید.

DigitTransliterator

کلاس Eram\Daynum\Formatter\DigitTransliterator ثابت‌های LATN = 'latn'، PERSIAN = 'persian' و ARAB = 'arab' و متدهای استاتیک toLatin(string $text): string، toScript(string $text, string $script): string و isSupported(string $script): bool را دارد. کاراکترهای غیرعددی تغییر نمی‌کنند. هم withDigits() روی view و هم toScript() نام ناشناخته شکل ارقام را با InvalidArgumentException خود Daynum رد می‌کنند. toScript() فقط ارقام ASCII را تبدیل می‌کند؛ برای تبدیل بین ارقام فارسی و عربی، اول toLatin() را صدا بزنید.

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

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

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