
روز ۳۸ آموزش پایتون: ماژول datetime و زمانبندیها
زمان در برنامه نویسی یکی از مهمترین مفاهیم است که در پروژههای واقعی به وفور استفاده میشود. ماژول datetime در پایتون ابزار قدرتمندی برای کار با تاریخ و زمان فراهم میکند که شامل ایجاد تاریخها، محاسبه اختلاف زمان، فرمتدهی و تبدیل بین فرمتهای مختلف است. یادگیری این ماژول باعث میشود بتوانیم پروژههایی مانند گزارشگیری، زمانبندی کارها، مدیریت لاگها و حتی ایجاد تقویمها و یادآورها را با دقت و انعطاف بالا انجام دهیم. اهمیت این ماژول وقتی بیشتر مشخص میشود که نیاز داشته باشیم زمان را در فرمتهای متفاوت نمایش دهیم یا زمان حال را با زمانهای گذشته و آینده مقایسه کنیم.
کار با تاریخ و زمان فعلی
برای دریافت تاریخ و زمان فعلی، ماژول datetime توابع آمادهای ارائه میدهد که بسیار ساده و کاربردی هستند. با استفاده از datetime.now() میتوان زمان فعلی سیستم را دریافت کرد و با ویژگیهای آن مانند سال، ماه، روز، ساعت، دقیقه و ثانیه کار کرد. این روش بسیار کاربردی است و در هر پروژهای که نیاز به زمان واقعی دارد، میتوان از آن استفاده کرد.
نمونه کد دریافت زمان فعلی:
from datetime import datetime
now = datetime.now()
print("تاریخ و زمان فعلی:", now)
print("سال:", now.year, "ماه:", now.month, "روز:", now.day)
print("ساعت:", now.hour, "دقیقه:", now.minute, "ثانیه:", now.second)در این مثال، زمان فعلی سیستم گرفته شده و تمامی اجزای آن نمایش داده شده است. بدون datetime، انجام این کار نیاز به توابع پیچیده و محاسبات دستی داشت.
ایجاد تاریخ و زمان مشخص
ماژول datetime اجازه میدهد تاریخها و زمانهای مشخص را ایجاد کنیم تا بتوانیم روی آنها عملیات انجام دهیم. این امکان برای ثبت رویدادها، تاریخ تولد کاربران یا زمانبندی فعالیتها بسیار کاربردی است.
نمونه کد ایجاد تاریخ مشخص:
from datetime import datetime
birthday = datetime(1995, 7, 20, 10, 30)
print("تاریخ تولد:", birthday)در این مثال، یک شی datetime ساخته شده که تاریخ و ساعت مشخصی دارد. این شی را میتوان برای محاسبات و مقایسه با زمانهای دیگر استفاده کرد.
محاسبه اختلاف زمان
یکی از قابلیتهای کلیدی datetime، محاسبه اختلاف بین دو زمان است. با استفاده از timedelta میتوان اختلاف روز، ساعت، دقیقه و ثانیه بین دو تاریخ را محاسبه کرد و آن را برای زمانبندی یا گزارشگیری استفاده نمود.
نمونه کد اختلاف زمان:
from datetime import datetime, timedelta
now = datetime.now()
future = now + timedelta(days=10, hours=5)
difference = future - now
print("تفاوت زمان:", difference)در این مثال، زمان آینده با اضافه کردن روز و ساعت ساخته شده و اختلاف آن با زمان فعلی محاسبه شده است. این روش در پروژههای مدیریت پروژه، یادآورها و برنامههای زمانبندی بسیار کاربرد دارد.
فرمتدهی تاریخ و زمان
فرمتدهی تاریخ و زمان یکی از مهمترین ویژگیهای datetime است. با استفاده از متد strftime() میتوان تاریخ و زمان را به فرمت دلخواه تبدیل کرد، مثلاً نمایش کوتاه، بلند یا با ترکیبهای مختلف روز، ماه و سال. این ویژگی برای نمایش تاریخ در رابط کاربری یا ذخیره در پایگاه داده اهمیت زیادی دارد.
نمونه کد فرمتدهی:
from datetime import datetime
now = datetime.now()
formatted = now.strftime("%Y-%m-%d %H:%M:%S")
print("تاریخ و زمان فرمتشده:", formatted)در این مثال، تاریخ و زمان به فرمت استاندارد سال-ماه-روز ساعت:دقیقه:ثانیه نمایش داده شده است. فرمتبندی مناسب باعث میشود دادهها خواناتر و قابل استفاده در گزارشها و گزارشگیری باشند.
جمعبندی و کاربردها
در روز ۳۸ یاد گرفتیم که ماژول datetime چقدر برای مدیریت زمان و تاریخ در پایتون حیاتی است. از دریافت زمان فعلی، ایجاد تاریخهای مشخص، محاسبه اختلاف زمان، تا فرمتدهی و نمایش مناسب، همه این قابلیتها برای ساخت پروژههای واقعی مانند سیستمهای مدیریت کاربران، فروشگاهها، تقویمها و گزارشگیری اهمیت دارند. توصیه میشود تمرین عملی کنید و برای مثال یک برنامه بسازید که زمان فعلی را دریافت کند، یادآورها را بر اساس اختلاف زمان برنامهریزی کند و تاریخها را با فرمتهای مختلف نمایش دهد تا مهارت شما تثبیت شود.
