2010-12-06 13 views

Respuesta

5

para analizar el tiempo, el uso 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) 

uso 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 

Reconvertir a cadena

>>> k.strftime('%H:%M:%S,%f ') 
'00:03:13,200000 ' 
+0

La cuestión es cómo convertir el "00: 03: 12,200 "cadena en el objeto de tiempo. Recibo errores para t = datetime.strptime ("00: 02: 59,840", "% HH:% MM:% SS, mmm"). Dice: ValueError: los datos de tiempo '00: 02: 59,840 'no coinciden con el formato'% HH:% MM:% SS, mmm ' – user63503

+0

t = datetime.strptime ("00:02:59", "% HH:% MM :% SS% mmm ") o"% HH:% MM:% SS%, mmm "o"% HH:% MM:% SS,% mmm "- todos proporcionan los errores. Tengo una coma después de segundos, que no sé cómo representar en la cadena de formato. – user63503

+0

Para mí cuando lo hago: t = datetime.strptime ("00: 02: 59,840", "% HH:% MM:% SS,% f") muestra un error: ValueError: datos de tiempo '00: 02: 59,840 'no coincide con el formato'% HH:% MM:% SS,% f ' – user63503

4

Para añadir 10 segundos, puede utilizar esto:

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

para analizar lo anterior, puede utilizar strptime:

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

Echa un vistazo aquí para más detalles:

+0

Tengo un formato de marca de tiempo específico. ¿Cómo hacer que python comprenda la cadena como '00: 03: 12,200 'como tiempo? – user63503

+0

Proporcionando una cadena de formato a 'strptime' que describe el formato. Lea la documentación que se proporcionó. –

+0

Sí, como menciona Karl, vaya al enlace de arriba, desplácese hasta el final; tiene todos los especificadores que necesita allí. –

Cuestiones relacionadas