Получение текущей даты в формате YYYY-MM-DD в Python
Есть ли более элегантный способ получить сегодняшнюю дату в формате YYYY-MM-DD
, чем следующий код?
str(datetime.datetime.today()).split()[0]
5 ответ(ов)
Очень поздний ответ, но вы можете просто использовать:
import time
today = time.strftime("%Y-%m-%d")
# 2024-12-23
Datetime — это действительно интересно, если вам нравятся запутанные коды. Разве вам не хотелось бы простой работы с датами?
>>> import arrow
>>> arrow.now().format('YYYY-MM-DD')
'2017-02-17'
Этот модуль достаточно умный, чтобы понимать, что вы имеете в виду.
Просто выполните команду pip install arrow
.
Дополнение: В ответ тем, кто возмущается по поводу этого ответа, хочу сказать, что arrow представляет собой один из альтернативных подходов к работе с датами в Python. Это, в основном, то, что я хотел предложить.
Вы можете получить сегодняшнюю дату, используя модуль datetime
в Python. Вот пример кода, который выводит текущую дату:
from datetime import datetime
date = datetime.today().date()
print(date)
В этом коде мы сначала импортируем класс datetime
из модуля datetime
. Затем с помощью метода today()
получаем текущую дату и сохраняем её в переменной date
. Наконец, мы выводим дату на экран с помощью функции print()
.
Этот код выведет дату в формате YYYY-MM-DD
.
Если вам нужно получить, например, тихоокеанское стандартное время (PST), вы можете сделать это следующим образом:
from datetime import datetime
import pytz
tz = pytz.timezone('US/Pacific')
datetime.now(tz).strftime('%Y-%m-%d %H:%M:%S')
# '2021-09-02 10:21:41'
Этот код использует библиотеку pytz
, чтобы установить нужный временной пояс и получить текущее время в формате YYYY-MM-DD HH:MM:SS
. Не забудьте установить pytz
, если у вас его еще нет, с помощью команды pip install pytz
.
Ваш код действительно немного сложный, но если вы часто его используете, возможно, стоит упростить его для достижения нужного результата. Вы хотите получить дату в формате YYYY-MM-DD
. Для этого вам нужно изменить вашу строку кода следующим образом:
strftime("%Y-%m-%d", localtime(time.time()))
В этой версии мы просто заменили форматирование даты с "%y_%m_%d"
на "%Y-%m-%d"
. Вы также можете ознакомиться с документацией по форматированию строк времени, чтобы получить другие необходимые форматы. Вот ссылка на справочный ресурс: 'https://strftime.org/'.
Существует ли список временных зон Pytz?
Преобразование строки unix timestamp в читаемую дату
Как преобразовать datetime в date?
Как получить день недели по заданной дате?
Как конвертировать секунды в часы, минуты и секунды?