какой код Python будет добавлять время к определенной отметке времени? - PullRequest
6 голосов
/ 06 декабря 2010

Попытка выяснить модуль datetime и нужна помощь.

У меня есть строка, которая выглядит следующим образом:

00:03:12,200 --> 00:03:14,316

(то есть часы: минуты: секунды, миллисекунды) и нужно добавить, скажем, 10 секунд к каждой отметке времени. Для вывода:

00:03:22,200 --> 00:03:24,316

Каким будет код Python для этого?

Ответы [ 2 ]

6 голосов
/ 06 декабря 2010

Для разбора времени используйте strptime

>>> x = '00:03:12,200 --> 00:03:14,316'
>>> x1 = x.split('-->')
>>> x1
['00:03:12,200 ', ' 00:03:14,316']
>>> t1 = datetime.datetime.strptime(x1[0], '%H:%M:%S,%f ')
>>> t1
datetime.datetime(1900, 1, 1, 0, 3, 12, 200000)

используйте timedelta

>>> t = datetime.timedelta(seconds=1)
>>> t
datetime.timedelta(0, 1)
>>> 
>>> t1 + t
datetime.datetime(1900, 1, 1, 0, 3, 13, 200000)
>>> k = t1 + t

Reconvert to string

>>> k.strftime('%H:%M:%S,%f ')
'00:03:13,200000 '
4 голосов
/ 06 декабря 2010

Чтобы добавить 10 секунд, вы можете использовать это:

datetime.datetime.now() + datetime.timedelta(seconds=10)

Чтобы проанализировать выше, вы можете использовать strptime:

datetime.strptime("21/11/06 16:30", "%d/%m/%y %H:%M")

Посмотрите здесь для более подробной информации:

...