تبدیل رشته به datetime در پایتون
برای تبدیل رشتههای تاریخ و زمان به datetime
در پایتون، میتوان از روشهای مختلفی استفاده کرد که در زیر به توضیح آنها میپردازیم.
روش اول: استفاده از datetime.strptime
یکی از سادهترین و رایجترین روشها استفاده از تابع strptime
از ماژول datetime
است. این تابع به شما این امکان را میدهد که یک رشته تاریخ و زمان را با فرمت مشخصی تجزیه کنید. فرمت مناسب برای رشتهای مانند "Jun 1 2005 1:33PM" به صورت زیر است:
from datetime import datetime
datetime_object = datetime.strptime('Jun 1 2005 1:33PM', '%b %d %Y %I:%M%p')
print(datetime_object) # خروجی: datetime.datetime(2005, 6, 1, 13, 33)
با استفاده از این تابع میتوان به راحتی تاریخ و زمان را به یک شیء datetime
تبدیل کرد. در صورتی که فقط بخواهید تاریخ بدون زمان را دریافت کنید، میتوانید از تابع .date()
استفاده نمایید:
date_object = datetime.strptime('Jun 1 2005', '%b %d %Y').date()
print(date_object) # خروجی: date(2005, 6, 1)
- توجه داشته باشید که فرمت '%b' و '%p' ممکن است در مورد زمان محلی غیر انگلیسی با مشکل مواجه شوند.
- اگر رشته ورودی فقط شامل تاریخ باشد و زمان در آن وجود نداشته باشد، این تابع میتواند هنوز هم با فرمت مناسب کار کند.
روش دوم: استفاده از کتابخانه dateutil
کتابخانه سوم شخص dateutil
امکان تجزیه تاریخ و زمان را به راحتی فراهم میآورد و میتواند بسیاری از فرمتهای تاریخ را به صورت خودکار شناسایی کند:
from dateutil import parser
datetime_object = parser.parse("Aug 28 1999 12:00AM")
print(datetime_object) # خروجی: datetime.datetime(1999, 8, 28, 0, 0)
این روش به ویژه برای کدهایی که به خوانایی و سادگی بیشتر نیاز دارند، مناسب است. برای نصب این کتابخانه میتوانید از دستور زیر استفاده کنید:
pip install python-dateutil
- با توجه به حجم دادههای بزرگ، استفاده از این روش ممکن است بهینهترین گزینه نباشد، زیرا ممکن است برای هر رشته، فرمت را حدس بزند که ممکن است زمانبر باشد.
- برای پروژههایی که نیاز به وابستگی به کتابخانههای خارجی ندارند، روش اول (استفاده از
strptime
) ممکن است انتخاب بهتری باشد.