Список последних часов сегодня с django

Как создать список последних часов дня?

Я пробовал это, но он получает только последние 12 часов, а что, если последний час был вчера?

past_hours = []
for x in range(12):
past_hours.append((date - datetime.timedelta(hours=x)))

Если вы выполните свой код в «01:00», вы получите вчерашние часы. Я голосую за закрытие.

dani herrera 22.03.2022 11:21

Вы ищете список даты и времени начала каждого часа с начала дня?

Freddy Mcloughlan 22.03.2022 11:38
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
2
23
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это может быть то, что вам нужно:

import datetime

now = datetime.datetime.now()
day = now.day
month = now.month
year = now.year

hours_since_midnight = now.hour
hours = []

# Via a for loop
for i in range(hours_since_midnight):
    hours.append(datetime.datetime(year, month, day, hour=i))

# Or you can do it this way (list comprehension)
hours = [datetime.datetime(year, month, day, hour=x)
         for x in range(hours_since_midnight)]

Это создаст список даты и времени начала каждого часа с начала дня (не включая текущий час). Если вы хотите текущий час, вам нужно сделать range(hours_since_midnight + 1)

Вы можете сжимать day, month и year прямо в свои определения, если хотите.

Freddy Mcloughlan 22.03.2022 11:48

Я пробовал что-то подобное, которое выводит список времени за последние 24 часа (исключая вчерашний день) past_hours = [] for x in range(24): date_test = date_today - datetime.timedelta(hours=x) if (date_today.day>date_test.day): pass else: past_hours.append((date_today - datetime.timedelta(hours=x)).strftime("%I:%M %p")), но это все еще работает, спасибо!

jeffpg 22.03.2022 12:44

Не беспокойтесь, проверьте также этот сайт, это очень удобно для строк времени.

Freddy Mcloughlan 22.03.2022 23:22

Другие вопросы по теме