2014-01-22 4 views
2

Я хочу задать вам вопрос о разнице во времени в Python. Предположим, что мое начальное время - 11:30 и заканчивается в 13:00. Разница будет 1:00 pm-11:30am = 90 минут. Я новичок в python. Существуют ли существующие алгоритмы для решения этих проблем? Мне нужно тогда для моей задачи алгоритма планирования.Алгоритм получения разницы во времени в Python

Ваш отзыв был бы благодарен. :)

ответ

4

Используйте встроенный модуль datetime:

from datetime import datetime 

start = datetime(2014, 1, 22, 11, 30) 
end = datetime(2014, 1, 22, 13, 00) 

minutes = (end - start).total_seconds()/60.0 
+0

спасибо. но каков правильный формат для datetime? : D – user3216389

+0

, если вы хотите проанализировать строку datetime, посмотрите метод класса 'datetime.strptime': http://docs.python.org/2/library/datetime.html#datetime.datetime.strptime –

1

Если вы не можете использовать datetime по какой-то причине здесь другое решение.

def minutes(time): 
    time, ampm = time[:-2], time[-2:] 
    t = time.split(":") 
    time = int(t[0]) * 60 + int(t[1]) 
    if ampm == "pm": 
     time += 12 * 60 
    return time 

def timeDiff(string): 
    start, end = string.split("-") 

    diff = minutes(end) - minutes(start) 

    if diff < 0: 
     diff += 24 * 60 
    return diff 

timeDiff('11:30am-1:00pm') 
+0

С уважением: если OP не может использовать модуль stdlib, им нужно научиться использовать этот модуль, чтобы не взламывать его. Вот что такое Python :). Тем не менее, хорошо вне коробки, даже если коробка хорошо сформирована и содержит идеальное решение :) –

+0

Я полностью согласен с вами @adsmith. У меня был этот код, и я подумал, что могу поделиться им. –

Смежные вопросы