преобразование списка строк с форматом 68.830320 в формат ‘time’ без информации о дате. Формат времени равен second.millisecond

#python #date #datetime #converters

#python #Дата #datetime #конвертеры

Вопрос:

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

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

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

Ответ №1:

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

Преобразуйте вашу строку в timedelta вот так:

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

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

Комментарии:

1. @user11236564 Если ответ вас устроил, пожалуйста, примите его.