Как можно конвертировать время в дату и время? строка с 24:00 до 00:00 в Python?

у меня есть много строк дат, таких как Пн, 16 августа 2010 24:00:00 , и некоторые из них в формате 00-23 часа и некоторые из них в формате 01-24 часа. Я хочу получить список объектов даты из них, но когда я пытаюсь преобразовать пример строки в объект даты, мне нужно преобразовать ее с Пн, 16 августа 2010 24:00:00 в Вт, 17 авг 2010 00:00:00 . Какой самый простой способ?

9
задан jathanism 16 August 2010 в 14:13
поделиться

1 ответ

import email.utils as eutils
import time
import datetime

ntuple=eutils.parsedate('Mon, 16 Aug 2010 24:00:00')
print(ntuple)
# (2010, 8, 16, 24, 0, 0, 0, 1, -1)
timestamp=time.mktime(ntuple)
print(timestamp)
# 1282017600.0
date=datetime.datetime.fromtimestamp(timestamp)
print(date)
# 2010-08-17 00:00:00
print(date.strftime('%a, %d %b %Y %H:%M:%S'))
# Tue, 17 Aug 2010 00:00:00

Поскольку вы говорите, что вам нужно исправить много из них, вам следует определить функцию:

def standardize_date(date_str):
    ntuple=eutils.parsedate(date_str)
    timestamp=time.mktime(ntuple)
    date=datetime.datetime.fromtimestamp(timestamp)
    return date.strftime('%a, %d %b %Y %H:%M:%S')

print(standardize_date('Mon, 16 Aug 2010 24:00:00'))
# Tue, 17 Aug 2010 00:00:00
9
ответ дан 4 December 2019 в 21:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: