تبدیل تاریخ شمسی به تایم استمپ با استفاده از Python
تاریخ شمسی یک سیستم تقویمی است که در ایران و برخی کشورهای دیگر استفاده میشود و بر اساس تغییرات خورشیدی تعیین میشود. از آنجا که بسیاری از سیستمها و برنامهها از تایم استمپ برای نشان دادن زمان استفاده میکنند، تبدیل تاریخ شمسی به تایم استمپ میتواند در برنامههای مختلف مفید باشد.
Python به عنوان یک زبان برنامهنویسی همهمنظوره، قابلیت تبدیل تاریخ شمسی به تایم استمپ را با استفاده از کتابخانههای مختلفی که در اختیار قرار میدهد، فراهم میکند. در ادامه، روشهایی را برای انجام این تبدیل در Python بررسی خواهیم کرد.
روش اول: استفاده از کتابخانه datetime
کتابخانه datetime در Python برای کار با تاریخ و زمان استفاده میشود. این کتابخانه دارای کلاسهایی است که امکان تبدیل تاریخها به فرمتهای مختلف را فراهم میکنند. برای تبدیل تاریخ شمسی به تایم استمپ در Python، میتوانید از کلاس datetime استفاده کنید و توابعی مانند strptime را برای تبدیل از رشته به تاریخ و strftime را برای تبدیل از تاریخ به رشته بهره ببرید.
نمونه کد زیر نحوه تبدیل تاریخ شمسی به تایم استمپ را با استفاده از کتابخانه datetime نشان میدهد:
“`python
from datetime import datetime
import calendar
def jalali_to_timestamp(jyear, jmonth, jday, jhour, jminute, jsecond):
# تبدیل تاریخ شمسی به میلادی
gyear, gmonth, gday = jalali_to_gregorian(jyear, jmonth, jday)
# تبدیل تاریخ میلادی به تایم استمپ
timestamp = calendar.timegm((gyear, gmonth, gday, jhour, jminute, jsecond))
return timestamp
def jalali_to_gregorian(jyear, jmonth, jday):
# تبدیل تاریخ شمسی به میلادی
jdate = f'{jyear}/{jmonth}/{jday}’
gdate = datetime.strptime(jdate, ‘%Y/%m/%d’).date()
return gdate.year, gdate.month, gdate.day
# مثال استفاده
jyear = 1400
jmonth = 6
jday = 21
jhour = 12
jminute = 0
jsecond = 0
timestamp = jalali_to_timestamp(jyear, jmonth, jday, jhour, jminute, jsecond)
print(timestamp)
“`
روش دوم: استفاده از کتابخانه jdatetime
کتابخانه jdatetime نیز میتواند برای تبدیل تاریخ شمسی به تایم استمپ در Python مورد استفاده قرار گیرد. این کتابخانه توابعی را برای کار با تاریخ شمسی در اختیار قرار میدهد.
نمونه کد زیر نحوه تبدیل تاریخ شمسی به تایم استمپ را با استفاده از کتابخانه jdatetime نشان میدهد:
“`python
from jdatetime import datetime as jdatetime
def jalali_to_timestamp(jyear, jmonth, jday, jhour, jminute, jsecond):
# تبدیل تاریخ شمسی به تاریخ میلادی
jdate = jdatetime(jyear, jmonth, jday, jhour, jminute, jsecond)
gdate = jdate.togregorian()
# تبدیل تاریخ میلادی به تایم استمپ
timestamp = gdate.timestamp()
return timestamp
# مثال استفاده
jyear = 1400
jmonth = 6
jday = 21
jhour = 12
jminute = 0
jsecond = 0
timestamp = jalali_to_timestamp(jyear, jmonth, jday, jhour, jminute, jsecond)
print(timestamp)
“`
در این مقاله، دو روش برای تبدیل تاریخ شمسی به تایم استمپ در Python مورد بررسی قرار گرفت. با استفاده از کتابخانههای datetime و jdatetime، میتوانید به سادگی تاریخ شمسی را به تایم استمپ تبدیل کنید و در برنامههای خود استفاده کنید.