Python - Время до даты и времени в миллисекундах -> «ЧЧ: ММ: СС» - PullRequest
0 голосов
/ 21 марта 2020

Эта проблема застревает, когда я пытаюсь использовать несколько предоставленных опций.

Проще говоря, я запускаю сценарий, который имеет время запуска (несколько на самом деле, основанные на разных критериях) и в al oop Я хочу отобразить время выполнения этого критерия в JSON и поместить его в программу (используя запросы ), которая обновляется каждый раз, когда l oop проходит один из критериев.

Я делал это, просто запустив:

starting_time = datetime.now() #but just a bit earlier in the script
now = datetime.now()
running_time = now-starting_time

Этот running_time затем используется как переменная в JSON, но это должно быть в формате из 'ЧЧ: ММ: СС' иначе мои запросы не позволяют мне поставить. Это вызвало у меня проблему, потому что невозможно использовать strftime для timedelta.

Timedelta может быть основана на миллисекундах, но они хороши как "00:00:00" ... но это вызвало у меня проблемы при попытке сначала преобразовать timedelta в строку, а затем преобразовать ее обратно в обычную дату.

Чего мне не хватает?

1 Ответ

1 голос
/ 21 марта 2020

Возможный обходной путь:

starting_time = datetime.now()
now = datetime.now()
running_time = now-starting_time
x = datetime.timedelta(seconds=running_time.seconds)
result = str(x)
if result[1] == ":":
    result = "0"+result
print(result)

Здесь в строке 4 проверяется, что x имеет только секунды, и игнорируются миллисекунды running_time. Затем мы добавляем ноль в начале в случае необходимости.

Но также смотрите комментарий, чтобы лучше понять timedelta.

...