تبدیل تاریخ شمسی به تاریخ میلادی با استفاده از 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 پرداختیم. امیدواریم که این اطلاعات برای شما مفید واقع شده باشد.