تاریخ در پایتون
تاریخ در پایتون به خودی خود یک نوع داده نیست، اما ما میتوانیم یک ماژول به نام datetime را برای کار با تاریخها به عنوان آبجکتهای تاریخ ایمپورت کنیم.
مثال
ایمپورت کردن ماژول datetime و نمایش تاریخ فعلی:
import datetime
x = datetime.datetime.now()
print(x)
خروجی تاریخ
هنگامی که کد را از مثال بالا اجرا می کنیم، نتیجه این خواهد بود:
2023-11-04 16:21:13.163076
تاریخ شامل سال، ماه، روز، ساعت، دقیقه، ثانیه و میکروثانیه است.
ماژول datetime روش های زیادی برای برگرداندن اطلاعات مربوط به شیء date دارد.
در اینجا چند نمونه آورده شده است که در ادامه این فصل در مورد آنها بیشتر خواهید آموخت:
مثال
import datetime
x = datetime.datetime.now()
print(x.year)
print(x.strftime("%A"))
ایجاد اشیاء تاریخ
برای ایجاد تاریخ، میتوانیم از کلاس datetime()
(سازنده) ماژول datetime استفاده کنیم.
کلاس datetime()
برای ایجاد تاریخ به سه پارامتر نیاز دارد: سال، ماه، روز.
مثال
ایجاد یک شیء تاریخ:
import datetime
x = datetime.datetime(2020, 5, 17)
print(x)
کلاس datetime()
همچنین پارامترهایی را برای زمان و منطقه زمانی (ساعت، دقیقه، ثانیه، میکروثانیه، tzone) می گیرد، اما آنها اختیاری هستند و دارای مقدار پیش فرض 0 هستند (None برای منطقه زمانی).
متد strftime()
شیء datetime متدی برای قالب بندی اشیاء تاریخ به رشته های قابل خواندن دارد.
این متد strftime()
نامیده می شود و برای تعیین فرمت رشته برگشتی، یک پارامتر به نام فرمت (format) می گیرد:
مثال
نمایش نام ماه:
import datetime
x = datetime.datetime(2018, 6, 1)
print(x.strftime("%B"))
لیست کامل کدهای فرمت تاریخ:
کد | توضیح | مثال | امتحان کنید |
---|---|---|---|
%a | روز هفته، نسخه کوتاه | Wed | امتحان کنید |
%A | روز هفته، نسخه کامل
| Wednesday | امتحان کنید |
%w | روز هفته به عنوان یک عدد بین 0 تا 6، 0 یکشنبه است | 3 | امتحان کنید |
%d | روز ماه 01 تا 31 | 31 | امتحان کنید |
%b | نام ماه، نسخه کوتاه | Dec | امتحان کنید |
%B | نام ماه، نسخه کامل | December | امتحان کنید |
%m | ماه به عنوان یک عدد بین 01 الی 12 | 12 | امتحان کنید |
%y | سال، نسخه کوتاه (بدون قرن) | 18 | امتحان کنید |
%Y | سال، نسخه کامل | 2018 | امتحان کنید |
%H | ساعت 00 الی 23 | 17 | امتحان کنید |
%I | ساعت 00 الی 12 | 05 | امتحان کنید |
%p | قبل از ظهر/بعد از ظهر | PM | امتحان کنید |
%M | دقیقه 00 الی 59 | 41 | امتحان کنید |
%S | ثانیه 00 الی 59 | 08 | امتحان کنید |
%f | میکروثانیه 000000 الی 999999 | 548513 | امتحان کنید |
%z | فاصله زمانی | +0100 | |
%Z | منطقه زمانی | CST | |
%j | شماره روز سال 001 الی 366 | 365 | امتحان کنید |
%U | شماره هفته سال، یکشنبه به عنوان اولین روز هفته، 00 الی 53 | 52 | امتحان کنید |
%W | شماره هفته سال، دوشنبه به عنوان اولین روز هفته، 00 الی 53 | 52 | امتحان کنید |
%c | نسخه محلی تاریخ و زمان | Mon Dec 31 17:41:00 2018 | امتحان کنید |
%C | قرن (دو رقم اول سال میلادی) | 20 | امتحان کنید |
%x | نسخه محلی تاریخ | 12/31/18 | امتحان کنید |
%X | نسخه محلی زمان | 17:41:00 | امتحان کنید |
%% | % یک کاراکتر | % | امتحان کنید |
%G | ISO 8601سال | 2018 | امتحان کنید |
%u | ISO 8601 روز هفته (1 الی 7) | 1 | امتحان کنید |
%V | ISO 8601 شماره هفته (01 الی 53) | 01 | امتحان کنید |