2015-03-31 3 views
0

Если у меня есть число, представляющее интересующий меня период, например число 360, представляющее 360 минут или 6 часов, как мне превратить это в объект datetime, так что Я могу выполнять стандартные функции объекта datetime на нем?Включить число, представляющее итоговые минуты в объект datetime в python

Аналогично, если у меня есть объект datetime в формате 00:30:00, представляющий 30 минут, как мне превратить это в нормальную целочисленную переменную?

ответ

3
import datetime 

t = datetime.timedelta(minutes=360) 

Это создаст объект, t, что вы можете использовать с другими объектами даты и времени.

Чтобы ответить на второй вопрос, который вы только что отредактировали, вы можете использовать t.total_seconds(), чтобы вернуть все ваши timedelta обратно в целое число за считанные секунды. Вы должны будете сделать преобразование минут или часов вручную.

+1

И чтобы получить от timedelta объект datetime, вам нужно указать конечную точку datetime, что ti medelta измеряли, например, 'datetime.datetime (2015, 1, 15, 14, 34)'. Затем вы можете вычислить 's + t' и т. Д. – cphlewis

2

Вы можете посмотреть на время дельт:

delta = datetime.timedelta(minutes=360) 
0

Если данные времени в '00: 30: 00' Формат, то вы должны использовать strptime

>>> from datetime import datetime 
>>> time = '00:30:00' 
>>> datetime.strptime(time, '%H:%M:%S).time() 
datetime.time(0, 30) 

Если данные в формате 30 (целочисленный)

>>> from datetime import datetime, timedelta 
>>> from time import strftime, gmtime 
>>> minutes = timedelta(minutes=360) 
>>> time = strftime('%H:%M:%S', gmtime(minutes.total_seconds())) 
>>> datetime.strptime(time, '%H:%M:%S').time() 
datetime.time(6, 0)