Всякий раз, когда мне приходится иметь дело с датами и временем в Python, мне обычно приходится каждый раз гуглить. И вскоре после этого забудешь, как с этим бороться. Вот несколько распространенных способов использования даты и времени в Python.
1) Получение текущей даты и времени (сейчас)
from datetime import datetime print(datetime.now()) # 2023-09-06 23:01:47.856251
Примечание: нам не нужно устанавливать datetime
, поскольку он встроен.
2) Создание конкретной даты
Допустим, я хочу создать конкретный объект datetime на 24 октября 2023 года.
from datetime import datetime print(datetime(2023, 10, 24)) # 2023-10-24 00:00:00
- 1-й аргумент — год
- 2-й аргумент — месяц
- 3-й аргумент — день месяца
3) Создание конкретной даты+времени
Допустим, я хочу добавить время и создать конкретный объект datetime для 24 октября 2023 года, 11:00:05.
from datetime import datetime print(datetime(2023, 10, 24, 11, 0, 5)) # 2023-10-24 11:00:05
И здесь у нас есть объект datetime с точностью до секунды.
- Первые 3 аргумента: год, месяц, день.
- следующие 3 аргумента: час, минута, секунда
4) Преобразование строки в объект datetime
Допустим, у нас есть строка '2023-12-24'
, и мы хотим преобразовать ее в объект datetime. Вот как мы можем сделать это не вручную
from datetime import datetime string = '2023-12-24' print(datetime.strptime(string, '%Y-%m-%d')) # 2023-12-24 00:00:00
В качестве второго аргумента нам нужно ввести формат нашей строки даты и времени. Здесь наша строка формата %Y-%m-%d
должна соответствовать формату даты, в котором находится 2023-12-24
(иначе ошибка). Например:
from datetime import datetime string = '2023-dec-24' print(datetime.strptime(string, '%Y-%b-%d')) # 2023-12-24 00:00:00
Здесь вместо 12
в нашей строке стоит dec
. Итак, наш %m
должен измениться на %b
. Чтобы узнать, какие строки формата использовать, мы можем посетить https://docs.python.org/3/library/datetime.html#format-codes.