تبدیل تاریخ شمسی به تاریخ میلادی با استفاده از Python

نویسنده:
  • تبدیل تاریخ شمسی به تاریخ میلادی با استفاده از Python

    تبدیل تاریخ شمسی به تاریخ میلادی یکی از مواردی است که در برنامه‌نویسی بسیار مورد استفاده قرار می‌گیرد. در این مقاله، به بررسی روش‌های مختلف تبدیل تاریخ شمسی به تاریخ میلادی با استفاده از زبان برنامه‌نویسی Python می‌پردازیم.

    روش اول: استفاده از کتابخانه‌ی `persiantools`
    کتابخانه `persiantools` یکی از محبوب‌ترین کتابخانه‌های موجود در Python برای تبدیل تاریخ شمسی به تاریخ میلادی است. برای استفاده از این کتابخانه، آن را با استفاده از دستور زیر نصب کنید:

    “`
    pip install persiantools
    “`

    حال می‌توانید تاریخ شمسی مورد نظر خود را به تاریخ میلادی تبدیل کنید. به عنوان مثال، برای تبدیل تاریخ شمسی “۱۳۹۹/۰۱/۰۱” به تاریخ میلادی، کد زیر را اجرا کنید:

    “`python
    from persiantools.jdatetime import JalaliDate

    date = JalaliDate(1399, 1, 1)
    gregorian_date = date.to_gregorian()

    print(gregorian_date)
    “`

    روش دوم: استفاده از کتابخانه‌ی `jdatetime`
    کتابخانه `jdatetime` نیز یک کتابخانه‌ی مفید برای تبدیل تاریخ شمسی به تاریخ میلادی در Python است. برای نصب این کتابخانه، از دستور زیر استفاده کنید:

    “`
    pip install jdatetime
    “`

    سپس با استفاده از کد زیر، می‌توانید تاریخ شمسی مورد نظر خود را به تاریخ میلادی تبدیل کنید:

    “`python
    from jdatetime import date

    jalali_date = date(1399, 1, 1)
    gregorian_date = jalali_date.togregorian()

    print(gregorian_date)
    “`

    روش سوم: استفاده از تابع‌های سفارشی
    در صورتی که نمی‌خواهید از کتابخانه‌های آماده استفاده کنید، می‌توانید توابع سفارشی برای تبدیل تاریخ شمسی به تاریخ میلادی بنویسید. یکی از روش‌های معمول برای انجام این کار استفاده از تابع `divmod` است. به عنوان مثال، با استفاده از کد زیر می‌توانید تاریخ شمسی “۱۳۹۹/۰۱/۰۱” را به تاریخ میلادی تبدیل کنید:

    “`python
    def jalali_to_gregorian(j_year, j_month, j_day):
    jy = j_year – 979
    jm = j_month – 1
    jd = j_day – 1

    gy = jy // 33 * 33 + 4 * (jy % 33 + 3) // 4

    days = jd + (jm * 31)
    gy += (days // 365)
    days %= 365

    if days < 186:
    gm = days // 31 + 1
    gd = days % 31 + 1
    else:
    days -= 186
    gm = days // 30 + 7
    gd = days % 30 + 1

    return gy, gm, gd

    gregorian_date = jalali_to_gregorian(1399, 1, 1)
    print(gregorian_date)
    “`

    در این مقاله، به بررسی سه روش مختلف برای تبدیل تاریخ شمسی به تاریخ میلادی با استفاده از زبان برنامه‌نویسی Python پرداختیم. امیدواریم که این اطلاعات برای شما مفید واقع شده باشد.

     

     

     

    به این مقاله امتیاز دهید

    میانگین امتیازات ۵ از ۵
    از مجموع ۱ رای