تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 2 از 2

نام تاپيک: تبدیل تاریخها با استفاده از Persia .NET 2.0

  1. #1
    آخر فروم باز WooKMaN's Avatar
    تاريخ عضويت
    Oct 2005
    محل سكونت
    Ķêŗmάņšĥąħ
    پست ها
    10,533

    پيش فرض تبدیل تاریخها با استفاده از 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 به همراه مثال های تکمیلی.




    مقالات دیگر از همین نویسنده :

    ‫نقشه راه مایکروسافت برای توسعه Visual Studio

    ‫مروری بر CLR

    ‫خواندن داده ها به فرمت XML و نمایش آنها بوسیله DataList ( قسمت اول )

    ‫خواندن داده ها به فرمت XML و نمایش آنها بوسیله DataList ( قسمت دوم )

    ‫قابلیتهای جدید در ASP.NET 2

    ‫خواندن داده های ذخيره شده به فرمت XML (قسمت سوم)

    ‫لذت برنامه نويسی تحت وب با ASP.NET 2 قسمت اول: بكارگيری Master Page ها

    ‫لذت برنامه نويسی تحت وب با ASP.NET 2 قسمت دوم: تغيير Master Page ها بصورت ديناميكی

    ‫صدا زدن Event های User Control از داخل Web Form ها

  2. #2
    اگه نباشه جاش خالی می مونه blacksun's Avatar
    تاريخ عضويت
    May 2006
    محل سكونت
    یه جائی همین نزدیکیها
    پست ها
    326

    پيش فرض

    سلام
    اين مطلبي كه اينجا آوردين خيلي مفيد و آموزنده اس .دستت درد نكنه.فقط يه سوال من يه برنامه نويس هستم براي يه برنامه اي نياز بود كه تاريخ شمسي رو به قمري تبديل كنم.الگوريتمي كه براي اين كار پيدا كردم يه مقدار مشكل داشت به اين صورت كه مواقعي كه تاريخ قمري يه روز به جلو يا عقب كشيده ميشه .اين الگوريتم ديگه توانائي محاسبه اون رو نداره .مي خواستم بدونم كه تابعي كه بالا معرفي كردين تا چه حد دقيق هست و اگر ممكن باشه اگه الگوريتمي براي اين منظور تو Delphi يا C++ Builder داريد .به من هم محبت بفرمائيد.
    مرسي

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •