преобразование списка строк в формате 68.830320 в формат «время» без информации о дате.Формат времени - секунда. Миллисекунда - PullRequest
1 голос
/ 03 апреля 2019

У меня есть строка в формате 68.830320.это мне нужно преобразовать в формат времени в секундах. миллисекундах.он не содержит даты или каких-либо других значений.Я не могу использовать strptime, так как формат не подходит.tstamp, который я пытаюсь проанализировать, представляет собой список значений, связывающих значения с десятичной точкой.Я не могу округлить это значение.это все еще дает ошибку.Я не уверен, как поступить.пожалуйста, помогите!

перепробовал множество потоков, которые всегда принимают объект datetime.Но так как мой формат не совпадает, я не могу использовать эту информацию.У меня есть попытки .time dateutil, и все остальное доступно.Я до сих пор не могу решить эту проблему

 tstamp = child2.get('timestamp').replace(" ", "").replace("\n", "")
                        print(tstamp)
                        parser.parser(tstamp)
                        format_time = datetime.date(tstamp)
                        print(format_time)

1 Ответ

1 голос
/ 03 апреля 2019

Количество секунд это не datetime, это timedelta.Это не datetime, потому что вы не можете взять строку "68.830320" и установить стрелки настенных часов для представления этого времени.

Преобразуйте вашу строку в timedelta, например так:

>>> from datetime import timedelta
>>> mytime = timedelta(seconds=float("68.830320"))
>>> mytime
datetime.timedelta(0, 68, 830320)

Затем вы можете добавить timedelta к datetime, чтобы получить время на настенных часах.

...