Data i godzina w Pythonie
Daty Pythona
Data w Pythonie nie jest własnym typem danych, ale możemy zaimportować moduł o nazwie datetime
do pracy z datami jako obiektami daty.
Przykład
Zaimportuj moduł datetime i wyświetl aktualną datę:
import datetime
x = datetime.datetime.now()
print(x)
Wyjście daty
Gdy wykonamy kod z powyższego przykładu, wynik będzie następujący:
2022-01-29 09:36:23.922452
Data zawiera rok, miesiąc, dzień, godzinę, minutę, sekundę i mikrosekundę.
Moduł datetime
posiada wiele metod zwracania informacji o obiekcie date.
Oto kilka przykładów, o których dowiesz się więcej w dalszej części tego rozdziału:
Przykład
Zwróć rok i nazwę dnia tygodnia:
import datetime
x = datetime.datetime.now()
print(x.year)
print(x.strftime("%A"))
Tworzenie obiektów daty
Do stworzenia daty możemy użyć datetime()
klasy (konstruktora)
datetime
modułu.
Klasa datetime()
wymaga trzech parametrów do utworzenia daty: rok, miesiąc, dzień.
Przykład
Utwórz obiekt daty:
import datetime
x = datetime.datetime(2020, 5, 17)
print(x)
Klasa datetime()
przyjmuje również parametry czasu i strefy czasowej (godzina, minuta, sekunda, mikrosekunda, strefa czasowa), ale są one opcjonalne i mają wartość domyślną 0
, ( None
dla strefy czasowej).
Metoda strftime()
Obiekt datetime
posiada metodę formatowania obiektów daty na czytelne ciągi.
Metoda jest wywoływana strftime()
i przyjmuje jeden parametr ,
format
aby określić format zwróconego ciągu znaków:
Przykład
Wyświetl nazwę miesiąca:
import datetime
x = datetime.datetime(2018, 6, 1)
print(x.strftime("%B"))
Odniesienie do wszystkich kodów formatu prawnego:
Directive | Description | Example | Try it |
---|---|---|---|
%a | Weekday, short version | Wed | |
%A | Weekday, full version | Wednesday | |
%w | Weekday as a number 0-6, 0 is Sunday | 3 | |
%d | Day of month 01-31 | 31 | |
%b | Month name, short version | Dec | |
%B | Month name, full version | December | |
%m | Month as a number 01-12 | 12 | |
%y | Year, short version, without century | 18 | |
%Y | Year, full version | 2018 | |
%H | Hour 00-23 | 17 | |
%I | Hour 00-12 | 05 | |
%p | AM/PM | PM | |
%M | Minute 00-59 | 41 | |
%S | Second 00-59 | 08 | |
%f | Microsecond 000000-999999 | 548513 | |
%z | UTC offset | +0100 | |
%Z | Timezone | CST | |
%j | Day number of year 001-366 | 365 | |
%U | Week number of year, Sunday as the first day of week, 00-53 | 52 | |
%W | Week number of year, Monday as the first day of week, 00-53 | 52 | |
%c | Local version of date and time | Mon Dec 31 17:41:00 2018 | |
%C | Century | 20 | |
%x | Local version of date | 12/31/18 | |
%X | Local version of time | 17:41:00 | |
%% | A % character | % | |
%G | ISO 8601 year | 2018 | |
%u | ISO 8601 weekday (1-7) | 1 | |
%V | ISO 8601 weeknumber (01-53) | 01 |