10

Получение текущей даты в формате YYYY-MM-DD в Python

11

Есть ли более элегантный способ получить сегодняшнюю дату в формате YYYY-MM-DD, чем следующий код?

str(datetime.datetime.today()).split()[0]

5 ответ(ов)

0

Очень поздний ответ, но вы можете просто использовать:

import time
today = time.strftime("%Y-%m-%d")
# 2024-12-23
0

Datetime — это действительно интересно, если вам нравятся запутанные коды. Разве вам не хотелось бы простой работы с датами?

>>> import arrow
>>> arrow.now().format('YYYY-MM-DD')
'2017-02-17'

Этот модуль достаточно умный, чтобы понимать, что вы имеете в виду.

Просто выполните команду pip install arrow.

Дополнение: В ответ тем, кто возмущается по поводу этого ответа, хочу сказать, что arrow представляет собой один из альтернативных подходов к работе с датами в Python. Это, в основном, то, что я хотел предложить.

0

Вы можете получить сегодняшнюю дату, используя модуль datetime в Python. Вот пример кода, который выводит текущую дату:

from datetime import datetime

date = datetime.today().date()

print(date)

В этом коде мы сначала импортируем класс datetime из модуля datetime. Затем с помощью метода today() получаем текущую дату и сохраняем её в переменной date. Наконец, мы выводим дату на экран с помощью функции print().

Этот код выведет дату в формате YYYY-MM-DD.

0

Если вам нужно получить, например, тихоокеанское стандартное время (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.

0

Ваш код действительно немного сложный, но если вы часто его используете, возможно, стоит упростить его для достижения нужного результата. Вы хотите получить дату в формате YYYY-MM-DD. Для этого вам нужно изменить вашу строку кода следующим образом:

strftime("%Y-%m-%d", localtime(time.time()))

В этой версии мы просто заменили форматирование даты с "%y_%m_%d" на "%Y-%m-%d". Вы также можете ознакомиться с документацией по форматированию строк времени, чтобы получить другие необходимые форматы. Вот ссылка на справочный ресурс: 'https://strftime.org/'.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь