یادداشت های یک برنامه نویس
دوستدار فرهنگ و هنر کهن ایرانی

Extension تقویم جلالی برای Dot NET


پرسش امنیتی

مقدار 15 به علاوه 7 چقدر میشود؟

دیدگاه شما پس از تایید نمایش داده خواهد شد.

با استفاده از 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 = "هشتم"

 

دریافت MHVPersianExtension از NuGet