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