تبدیل تاریخها با استفاده از Persia .NET 2.0
کتابخانه Persia ( نسخه 2.0) شامل چند کلاس مختلف در قالب یک فایل DLL می باشد.
برای اضافه کردن آن به یک پروژه، همانند سایر کامپوننتها و کتابخانه ها، آن را به
سایر reference های برنامه اضافه می کنیم. بدین ترتیب کلاس Calendar در اختیار
قرار می گیرد و می توان از متدها و مشخصه های آن استفاده نمود. برای تبدیل تاریخها
به یکدیگر از توابع و مشخصه های موجود در کلاس Calendar استفاده می کنیم.
تبدیل تاریخ میلادی به شمسی:
برای این تبدیل می بایست از تابع ConvertToPersian استفاده کنیم. این تابع دارای ۳
overloads می باشد. لذا ۳ سری پارامتر مختلف را می توان برا آن در نظر گرفت.
// converting from Gregorian to
Persian date
Persia.Calendar.ConvertToPersian(DateTime datetTime);
Persia.Calendar.ConvertToPersian(int year,
int month, int day,
Persia.DateType.Gerigorian);
// converting from Islamic to
Persian date
Persia.Calendar.ConvertToPersian(Persia.MoonDate
moonDate);
Persia.Calendar.ConvertToPersian(int year,
int month, int day,
Persia.DateType.Islamic);
مقدار برگشتی این تابع از نوع کلاس SunDate می باشد. کلاس SunDate از ۴ مشخصه برای
فرمت تاریخ تبدیل شده و یک مشخصه که در برگیرنده عدد روز در هفته می باشد، تشکیل
شده است. جدول زیر به بیان این مشخصه ها همراه با مثال می پردازد.
| Sample
|
Data Type
|
Description |
Property |
| |
int |
یک آرایه ۳ عضوی از نوع int شامل عدد روز، ماه و سال
|
Array Type
|
|
۱۳۸۴/۳/۱۸ |
string |
فرمت عددی و معمول تاریخ شمسی |
Simple |
|
هجدهم خرداد ۱۳۸۴ |
string |
فرمت حروفی تاریخ شمسی |
Persian |
|
چهارشنبه ۱۸ خرداد ۱۳۸۴ |
string |
تاریخ شمسی به همراه روز هفته |
Weekday |
|
0=شنبه و 6=جمعه |
int |
عدد روز در هفته |
DayOfWeek |
| |
bool |
مشخص کننده کبیسه بودن سال در تقویم هجری شمسی |
IsLeapYear |
مثال:
Persia.SunDate sunDate =
Persia.Calendar.ConvertToPersian(DateTime.Now);
int year =
sunDate.ArrayType[0];
int month =
sunDate.ArrayType[1];
int day
= sunDate.ArrayType[3];
stirng simplePersianDate
= sunDate.Simple;
stirng simpleWrordPersianDate
= sunDate.Persian;
stirng weekdayPersianDate
= sunDate.Weekday;
int dayOfWeek =
sunDate.DayOfWeek;
bool isLeapYear =
sunDate.IsLeapYear;
تبدیل تاریخ شمسی به میلادی:
برای این تبدیل از تابع ConvertToGregorian استفاده می شود.این تابع دارای ۲
overload می باشد. بدین معنی که ۲ سری پارامتر مختلف را می توان برای آن در نظر
گرفت. نوع برگشتی این تابع از نوع کلاس DateTime می باشد.
DateTime date1 =
Persia.Calendar.ConvertToGregorian(1384, 3, 18, DateType.Persian);
// if sunDate is a valid
object of Persia.SunDate calss we can write
DateTime date2 =
Persia.Calendar.ConvertToGregorian(sunDate);
تبدیل تاریخ شمسی به قمری:
برای این تبدیل از تابع ConvertToIslamic استفاده می شود. این تابع دارای ۳
overload می باشد. لذا ۳ سری پارامتر مختلف را می توان برای آن در نظر گرفت.
//
converting from Persian to Islamic date
Persia.Calendar.ConvertToIslamic(Persia.SunDate
sunDate);
Persia.Calendar.ConvertToIslamic(int
year, int month, int
day, DateType.Persian);
// converting from Gregorian
to Islamic date
Persia.Calendar.ConvertToIslamic(DateTime
datetTime);
Persia.Calendar.ConvertToIslamic(int
year, int month, int
day, DateType.Gerigorian);
نوع برگشتی این تابع از نوع کلاس MoonDate می باشد که دارای مشخصه های زیر است.
| Sample
|
Data Type
|
Description |
Property |
| |
int |
یک آرایه ۳ عضوی از نوع int شامل عدد روز، ماه و سال
|
Array Type
|
|
۱۴۲۶/۵/۱ |
string |
فرمت عددی تاریخ قمری |
Simple |
|
اِلأَربِعا ۱ جمادي الاولي ۱۴۲۶ |
string |
تاریخ قمری به همراه روز هفته |
Formal |
|
0=شنبه و 6=جمعه |
int |
عدد روز در هفته |
DayOfWeek |
مثال.
//
converting from Persian to Islamic date
// if sunDate is a valid
object of Persia.SunDate class
Persia.MoonDate moonDate =
Persia.Calendar.ConvertToIslamic(sunDate);
// converting from Gregorian
to Islamic date
Persia.MoonDate moonDate =
Persia.Calendar.ConvertToIslamic(DateTime.Now);
int year =
moonDate.ArrayType[0];
int month =
moonDate.ArrayType[1];
int day
= moonDate.ArrayType[3];
stirng simpleIslamicDate
= moonDate.Simple;
string weekdayIslamicDate
= moonDate.Formal;
int dayOfWeek =
moonDate.DayOfWeek;
دریافت Persia .NET به
همراه مثال های تکمیلی.