با استفاده از MHVPersianExtension به راحتی می توانید از تمامی امکانات DateTime برای تقویم جلالی استفاده کنید. برخی ویژگی های آن را با هم مرور می کنیم:
DateTime date1 = "1367/01/08".JalaliToGregorian();
در کد بالا مقدار String را به DateTime تبدیل کردیم. و در DateTime می توانیم همه ویژگی های تقویم میلادی را برای تقویم هجری شمسی نیز داشته باشیم:
DateTime date1 = "1367/01/08".JalaliToGregorian();
int Result1 = date1.JalaliDayNo();
int Result2 = date1.JalaliDayOfYear();
string Result3 = date1.JalaliLongDate();
string Result4 = date1.JalaliDay();
string Result5 = date1.JalaliDayOfWeek();
string Result6 = date1.JalaliMonth();
string Result7 = date1.JalaliMonthName();
string Result8 = date1.JalaliShortDate();
string Result9 = date1.JalaliYear();
string Result10 = date1.JalaliDate("yyyy(yy)-MM-dd(dddd)");
JWeek Result11 = date1.JalaliWeekOfYear();
برای مثال مقدار Result1 برابر 498929 است و این شماره روز از مبدا تاریخ جلالی است و مقدارResult3 "دو شنبه 8 فروردین 1367" است و همانطور که در Result10 می بینید می توانید تاریخ را با هر فرمتی که بخواهید بدست آورید که در این مثال "1367(67)-01-08(دو شنبه)" می باشد.
همچنین می توانیم از سایر ویژگی های DateTime برای متغیر String با فرض آنکه درون آن تاریخ جلالی باشد استفاده کنیم:
string date2 = "1367/01/08";
string Result13 = date2.JalaliAddMonth(2); //"1367/03/08"
string Result14 = date2.JalaliAddYear(5); //"1372/01/08"
و در نهایت می توانید از متغیر نوع JDate استفاده کنید:
string date1 = "1367/01/08";
JDate jdate1 = date1.ToJDate(); // Jalali To JDate
DateTime date2 = date1.JalaliToGregorian();
JDate jdate2 = date2.ToJDate(); // Gregorian To JDate
که شامل موارد زیر است:
Day | 8 |
DayNN | هشت |
DayNo | 498929 |
DayOfWeek | 3 |
DayOfWeekName | دو شنبه |
DayOfYear | 8 |
GregorianDate | #3/28/1988 12:00:00 AM# |
JalaliDate | 1367/01/08 |
Month | 1 |
MonthNN | یک |
MonthName | فروردین |
PBinary | 1 |
PBinaryName | دو ماهه اول |
PQuad | 1 |
PQuadName | چهار ماهه اول |
PSeason | 1 |
PSeasonName | بهار |
PSemiy | 1 |
PSemiyName | شش ماهه اول |
WeekForYear | 1367 |
WeekNoYear | 52 |
WeekOfYear | 1 |
WeekOfYearNN | اول |
Year | 1367 |
YearNN | یک هزار و سیصد و شصت و هفت |
همچنین با استفاده از این Extension می تونید عدد را به حروف فارسی تبدیل کنید:
long int1 = 2487632467548973109;
int int2 = 8;
string Result15 = int1.ToPersianName();
string Result16 = int2.ToPersianName(PersianNameType.None);
string Result17 = int2.ToPersianName(PersianNameType.Yekom);
Result15 = "دو تریلیون و چهارصد و هشتاد و هفت بیلیارد و ششصد و سی و دو هزار میلیارد و چهارصد و شصت و هفت میلیارد و پانصد و چهل و هشت میلیون و نهصد و هفتاد و سه هزار و صد و نه"
Result16 = "هشت"
Result17 = "هشتم"