Datum a čas v Pythonu
Data v Pythonu
Datum v Pythonu není vlastní datový typ, ale můžeme importovat modul pojmenovaný datetime
pro práci s daty jako objekty data.
Příklad
Importujte modul datetime a zobrazte aktuální datum:
import datetime
x = datetime.datetime.now()
print(x)
Datum Výstup
Když spustíme kód z výše uvedeného příkladu, výsledek bude:
2022-01-29 15:40:09.057635
Datum obsahuje rok, měsíc, den, hodinu, minutu, sekundu a mikrosekundu.
Modul datetime
má mnoho metod, jak vrátit informace o objektu data.
Zde je několik příkladů, více se o nich dozvíte později v této kapitole:
Příklad
Vraťte rok a název dne v týdnu:
import datetime
x = datetime.datetime.now()
print(x.year)
print(x.strftime("%A"))
Vytváření datových objektů
K vytvoření data můžeme použít datetime()
třídu (konstruktor)
datetime
modulu.
Třída datetime()
vyžaduje tři parametry pro vytvoření data: rok, měsíc, den.
Příklad
Vytvořte objekt data:
import datetime
x = datetime.datetime(2020, 5, 17)
print(x)
Třída datetime()
také přebírá parametry pro čas a časové pásmo (hodina, minuta, sekunda, mikrosekunda, tzone), ale jsou volitelné a mají výchozí hodnotu 0
, ( None
pro časové pásmo).
Metoda strftime().
Objekt datetime
má metodu pro formátování datových objektů do čitelných řetězců.
Metoda se nazývá strftime()
a má jeden parametr,
format
který určuje formát vráceného řetězce:
Příklad
Zobrazit název měsíce:
import datetime
x = datetime.datetime(2018, 6, 1)
print(x.strftime("%B"))
Odkaz na všechny zákonné kódy formátu:
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 |