метод datetime strptime для формата HH: MM: SS.MICROSECOND - PullRequest
0 голосов
/ 26 февраля 2019

Я пытаюсь исследовать метод времени полосы Python для разложения времени, представленного как 11: 49: 57.74.Стандартные% H,% M,% S способны разложить на час, минуты, секунды.Тем не менее, поскольку данные представляют собой строку (которая берется в столбце панд Python в качестве объекта типа данных, миллисекунды после десятичной секунды остаются не интерпретированными. Следовательно, я получаю сообщение об ошибке. Кто-то может посоветовать, пожалуйста, как разобрать пример так, чтобы секундыи микросекунды правильно интерпретируются из строки времени? Я бы затем использовал их, чтобы найти разницу времени между двумя метками времени.

1 Ответ

0 голосов
/ 26 февраля 2019

Я не знаю, правильно ли я понял ваш вопрос.

Итак, чтобы преобразовать эту строку время в дату и время и вычислить временную дельту между двумя, вам нужно сделать следующее:

timedelta = str() #declare an empty string where save the timedelta

my_string = '11:49:57.74' # first example time
another_example_time = '13:49:57.74' #second example time, invented by me for the example

first_time = datetime.strptime(my_string, "%H:%M:%S.%f") # extract the first time
second_time = datetime.strptime(another_example_time , "%H:%M:%S.%f") # extract the second time

#calculate the time delta
if(first_time > second_time):
    timedelta = first_time - second_time 
else:
    timedelta = second_time - first_time

print "The timedelta between %s and %s is: %s" % (first_time, second_time, timedelta)

Здесь, очевидно, у вас нет даты, поэтому библиотека даты и времени по умолчанию использует 1900-01-01, как вы можете видеть в результате печати:

The timedelta between 1900-01-01 11:49:57.740000 and 1900-01-01 13:49:57.740000 is: 2:00:00

Я надеюсь, что это решение - то, что вам нужно.В следующий раз предоставьте немного больше информации, пожалуйста, или поделитесь примером с кодом, который вы пытались написать.

...