Skip to content

motammem/persian_date

Repository files navigation

Persian Date (Object Oriented API)


Stable release Total Downloads License Build Status

This project provides an easy to use Object Oriented API to work with persian date and time.

Provided PersianDate class extends Standard PHP DateTime class and has it's all capabilities.

###Installation: Open your terminal and enter:

composer require mtm/persian-date

###Usage:

When you want build a PersianDate instance:

$persianDateTime = new Mtm\PersianDate\PersianDate();

When you want build a PersianDate instance from exact date:

$persianDateTime = Mtm\PersianDate\PersianDateFactory::buildFromExactDate(null, null, null, 9, 19 ,1370);

When you want to convert PHP Standard Datetime to PersianDate instance from standard PHP Standard DateTime object:

$standardDateTime = new \DateTime();
$persianDateTime = Mtm\PersianDate\PersianDateFactory::buildFromOriginalDateTime($standardDateTime);

When you want to convert PersianDate instance to PHP Standard DateTime object:

$standardDateTime = $persianDateTime->getOriginalDateTime();

When you want to set date on PersianDate instance

$persian_year = 1370;
$persian_month = 9;
$persian_day = 19;

$persianDateTime->setDate($persian_year, $persian_month, $persian_day);

Formats

And finally when you want to print in various formats:

$persianDateTime->format("Y-m-d"); // prints: 1370-9-19

$persianDateTime->format("f y"); // prints: پاییز 94
(?) مثال ۲ مثال ۱ دامنه کاربرد های متد format() کاراکتر
- - - - کاراکترها با حروف کوچک کوچک
+ ب.ظ ق.ظ ق.ظ | ب.ظ اوقات روز - به صورت خلاصه a
! ۴ ۱ ۱ - ۴ شماره ی فصل (ربع) از سال b
+ ۱۳۸۹/۱۱/۲۲ ،۰۹:۴۶:۳۱ +۰۳:۳۰ ۱۳۹۰/۴/۴ ،۱۳:۰۸:۲۶ +۰۴:۳۰ : طبق نمونه Y/n/j ,H:i:s P :(ltr) ۱ قالب مرکّب c
+ ۲۳ ۹ ۰۱ - ۳۱ شماره ی روز از ماه - ۲ رقمی d
+ Asia/Tehran Greenwich مناطق زمانی منطقه ی زمانی تنظیم شده e
! زمستان تابستان بهار تا زمستان نام فصل با حروف فارسی f
+ ۱۲ ۷ ۱ - ۱۲ ساعت در روز -۱۲ساعته -۱یا۲رقمی g
+ ۱۲ ۰۷ ۰۱ - ۱۲ ساعت در روز - ۱۲ ساعته - ۲رقمی h
+ ۲۱ ۱۷ ۰۰ - ۵۹ دقیقه در ساعت - ۲ رقمی i
+ ۲۳ ۲ ۱ - ۳۱ شماره ی روز از ماه - ۱یا۲ رقمی j
! ۱۶ ۷۶.۲ ۰ - ۱۰۰ (**.?) در صد باقیمانده از سال k
+ چهار شنبه شنبه شنبه تا جمعه نام روز در هفته - کامل l
+ ۱۰ ۰۳ ۰۱ - ۱۲ شماره ی ماه از سال - ۲رقمی m
+ ۱۰ ۳ ۱ - ۱۲ شماره ی ماه از سال - ۱یا۲رقمی n
+ ۱۳۸۹ ۱۳۹۱ شماره ی سال سال هفته ای (به عدد) چهار رقمی o
! دلو جوزا حمل تا حوت نام باستانی برج ها p
! پلنگ گاو موش تا خوک نام حیوانی سال ها q
+ ۰۹:۴۶:۳۱ +۰۳۳۰ جمعه، ۲۲ بهمن ۱۳۸۹ ۱۳:۰۸:۲۶ +۰۴۳۰ شنبه، ۴ تیر ۱۳۹۰ : طبق نمونه H:i:s O Y F j ,l :(ltr) ۲ قالب مرکّب r
+ ۱۷ ۰۹ ۰۰ - ۵۹ شماره ی ثانیه در دقیقه - ۲ رقمی s
+ ۳۰ ۳۱ ۳۱ | ۳۰ | ۲۹ تعداد روزهای (همان) ماه t
+ ۷۳۹۰۳۱ ۰۰۰۰۰۰ : طبق نمونه میکرو ثانیه - ۶ رقمی u
! هشتاد و نه نود و یک از ‍ تا نود و نه سال به حروف - خلاصه ی دو رقمی v
+ ۳ ۰ ۰ - ۶ شنبه=۰ ،عدد روز در هفته (IR) w
+ ۸۹ ۹۱ ۰۰ - ۹۹ سال (به عدد) دو رقمی y
+ ۳۰۴ ۴۱ ۰ - (۳۶۴|۳۶۵) تعداد روز (کامل) گذشته از سال z
- - - - کاراکترها با حروف بزرگ بزرگ
+ بعد از ظهر قبل از ظهر : طبق نمونه اوقات روز _ کامل A
+ ۷۱۰ ۰۹۸ ۰۰۰ - ۹۹۹ GMTزمان اینترنتی،۱.۴۴ دق‍ از۲۳:۰۰ B
! ۱۵ ۱۴ ...|۱۵|۱۴|... شماره ی قرن هجری شمسی C
+ چ ش ش تا ج حرف اوّل نام روز هفته، ش=شنبه D
+ دی خرداد فروردین تا اسفند نام ماه از سال - کامل F
+ ۱۹ ۷ ۰ - ۲۳ ساعت در روز - ۲۴ساعته -۱یا۲رقم G
+ ۱۹ ۰۷ ۰۰ - ۲۳ ساعت در روز - ۲۴ساعته -۲رقمی H
+ ۱ ۰ ۰ | ۱ نشانگر طولانی بودن روز = ۱ I
! بیست و نه دو یک تا سی و یک شماره ی روز از ماه به حروف J
! ۸۳.۳ ۱۴ ۱۰۰ - ۰ (**.?) در صد گذشته از سال K
+ ۰ ۱ ۰ | ۱ سال : کبیسه=۱ و غیر کبیسه=۰ L
+ دی خر فر تا اس‍ نام ماه از سال - خلاصه M
+ ۳ ۷ ۱ - ۷ یک شنبه=۱ ،عدد روز در هفته (IR) N
+ +۰۳۳۰ +۰۴۳۰ -۱۲۰۰ ، +۱۴۰۰ ":" اختلاف ساعت جهانی - بدون O
+ +۰۳:۳۰ +۰۴:۳۰ -۱۲:۰۰ ، +۱۴:۰۰ ":" اختلاف ساعت جهانی - با P
! ۶۱ ۳۲۴ (۳۶۵|۳۶۴) - ۰ تعداد روز (کامل) باقی مانده از سال Q
+ ام ام ام "واژه ی "ام S
+ IRST IRDT مخفف مناطق مخفّف منطقه ی زمانی تنظیم شده T
+ ۱۲۹۵۴۳۶۴۶۷ ۱۲۴۳۹۵۵۳۴۶ : طبق نمونه timestamp (Unix) برچسب زمانی U
! هزار و سیصد و هشتاد و نه هزار و سیصد و نود و یک : طبق نمونه سال به حروف - کامل V
+ ۴۳ ۱۱ ۰۰ - (۵۲|۵۳) شماره ی این هفته در سال - ۲رقم W
+ ۱۳۸۹ ۱۳۹۱ : طبق نمونه سال (به عدد) چهار رقمی Y
+ ۱۲۶۰۰ ۱۶۲۰۰ -۴۳۲۰۰ ، ۵۰۴۰۰ اختلاف ساعت جهانی به ثانیه Z