کلاس datetime در پایتون-strftime در پایتون

تاریخ‌ها در پایتون

نوع داده‌ی تاریخ و زمان در پایتون به طور مستقل تعریف نشده است. این نوع با استفاده از کلاس datetime در ماژول datetime تعریف شده است. این ماژول کلی متد و کلاس دارد که کار با تاریخ و زمان را در پایتون تسهیل می‌کند.

مثال:

>>> import datetime
>>> x = datetime.datetime.now()
>>> print(x)
۲۰۲۲-۰۲-۱۰ ۱۷:۰۸:۲۶٫۴۰۲۵۷۷

در مثال بالا ابتدا ماژول datetime را ایمپورت کردیم، سپس با استفاده از متد now شی datetime که در ماژول datetime تعریف شده است زمان جاری سیستم راه برگرداندیم. نهایتا مقدار x را با استفاده از تابع print چاپ کردیم. تاریخ چاپ شده شامل سال، ماه،روز، ساعت، دقیقه، ثانیه و میکرو ثانیه است.

متد datetime در پایتون متدهای زیادی برای کار با تاریخ دارد که در این مقاله برخی از آنها را معرفی و مثال‌های مورد نظر را بررسی می‌کنیم.

مثال: در تکه کد زیر سال و نام روز جاری را چاپ می کنیم.

>>> import datetime
>>> x = datetime.datetime.now()
>>> print(x)
۲۰۲۲-۰۲-۱۰ ۱۷:۰۸:۲۶٫۴۰۲۵۷۷
>>> print(x.year)
۲۰۲۲
>>> print(x.strftime('%A'))
Thursday

ایجاد یک شی از نوع تاریخ در پایتون

برای ایجاد یک شی از نوع date در پایتون از کلاس datetime() در ماژول datteime استفاده می‌کنیم.

این کلاس برای ایجاد یک شی از نوع date سه تا پارامتر می‌گیرد که عبارتند از year,month,day.

مثال:

>>> import datetime
>>> x = datetime.datetime(2020,5,17)
>>> print(x)
۲۰۲۰-۰۵-۱۷ ۰۰:۰۰:۰۰
>>> 

برای ایجاد یک شی از نوع تاریخ با استفاده از کلاس datetime می‌توانید ساعت، دقیقه، ثانیه، میکروثانیه و منطقه‌ی زمانی را نیز به عنوان پارامتر به این کلاس ارسال نمایید.

بیشتر بخوانید: اعداد مختلط در پایتون

متد strftime در پایتون

با استفاده از تابع strftime در پایتون می‌توانید یک شی از نوع تاریخ را به یک رشته‌ی قابل خواندن تبدیل نمایید. این متد در کلاس datetime تعریف شده است.این تابع یک پارامتر از نوع رشته می‌گیرد و تاریخ مورد نظر را با توجه به پارامتر ورودی فرمت کرده و بر می‌گرداند.در مثال زیر با استفاده از این تابع نام ماه را چپ کرده‌ایم.

>>> import datetime
>>> x = datetime.datetime(2022,6,1)
>>> print(x.strftime("%B"))
June

در جدول زیر می‌توانید تمامی فرمت‌هایی که تابع strftime قبول می‌کند را مشاهده می کنید:

قبل از اجرا مثال مورد نظر این دو خط کد را باید اجرا نمایید. خط اول ماژول datetiem را ایمورت می‌کند و خط دوم تاریخ امروز را به متغیر x می‌دهد.

>>> import datetime
>>> x = datetime.datetime.now()

اگر دو خط کد مذکور را یک بار در ترمینال اجرا کنید بعد از آن می توانید تمام مثال‌های زیر را اجرا نمایید.

فرمتتوضیحمثالخروجی
%aنام کوتاه روزprint(x.strftime("%a"))Thu
%Aنام کامل روزprint(x.strftime("%A"))Thursday
%wشماره روز که ۰ نشان دهنده‌ی یکشنبه استprint(x.strftime("%w"))۴
%dروزی از ماه (از ۰۱تا ۰۳۱)print(x.strftime("%d"))۱۰
%Bنام کامل ماه جاریprint(x.strftime("%B"))February
%bاسم اختصاری ماهprint(x.strftime("%b"))Feb
%mشماره ماه از ۰۱ تا ۱۲print(x.strftime("%m"))۰۲
%yشماره سال بدون قرنprint(x.strftime("%y"))۲۲
%Yشماره کامل سالprint(x.strftime("%Y"))۲۰۲۲
%Hساعت (۰۰-۱۲)print(x.strftime("%H"))۱۷
%Iساعت(۰۰-۱۲)print(x.strftime("%I"))۰۵
%pقبل از ظهر/بعد از ظهرprint(x.strftime("%p"))PM
%Mدقیقه(۰۰-۵۹)print(x.strftime("%M"))۴۰
%Sثانیه(۰۰-۵۹)print(x.strftime("%S"))۱۰
%fمیکروثانیه ۰۰۰۰۰۰-۹۹۹۹۹۹print(x.strftime("%f"))۰۱۳۹۴۹
%zفاصله‌ زمانی با UTCprint(x.strftime("%z"))
%Zمنطقه‌ی زمانیprint(x.strftime("%Z"))
%jشماره روز جاری سال ۰۰۱-۳۶۶print(x.strftime("%j"))۰۴۱
%Uشماره هفته‌ی جاری از سال ۰۰-۵۳ شروع هفته یک شنبهprint(x.strftime("%U"))۰۶
%Wشماره هفته‌ی جاری از سال ۰۰-۵۳ شروع هفته دوشنبهprint(x.strftime("%W"))۰۶
%cورژن محلی تاریخprint(x.strftime("%c"))Thu Feb 10 17:40:10 2022
%Cقرنprint(x.strftime("%C"))۲۰
%xورژن محلی تاریخprint(x.strftime("%x"))۰۲/۱۰/۲۲
%Xورژن محلی زمانprint(x.strftime("%X"))۱۷:۴۰:۱۰
%%یک کاراکتر %print(x.strftime("%%"))%
%Gسال با فرمت ISO 8601print(x.strftime("%G"))۲۰۲۲
%uشماره روز هفته با فرمت ISO 8601print(x.strftime("%u"))۴
%Vشماره هفته (۰۱-۵۳)با فرمتISO 8601print(x.strftime("%V"))۰۶

دیدگاه خود را بنویسید