Для преобразования объекта datetime
в строку с временем и миллисекундами в Python, можно использовать метод strftime()
:
from datetime import datetime
now = datetime.now()
time_with_ms = now.strftime("%H:%M:%S.%f")
print(time_with_ms)
В этом примере, %H
- часы (24-часовой формат), %M
- минуты, %S
- секунды, а %f
- микросекунды. Так как нужны миллисекунды, можно отрезать последние 3 цифры строки.
from datetime import datetime
now = datetime.now()
time_with_ms = now.strftime("%H:%M:%S.%f")
time_with_ms = time_with_ms[:-3]
print(time_with_ms)
Для преобразования объекта datetime
в строку с временем и миллисекундами в Python можно использовать метод strftime()
. Этот метод принимает строку форматирования в качестве аргумента, которая определяет, как будет выглядеть результирующая строка.
Вот пример кода, демонстрирующий, как это сделать:
import datetime
now = datetime.datetime.now()
# Форматируем время с миллисекундами
time_with_milliseconds = now.strftime("%H:%M:%S.%f")
print(time_with_milliseconds)
Разберем строку форматирования "%H:%M:%S.%f"
:
%H
: Час (24-часовой формат)%M
: Минуты%S
: Секунды%f
: Микросекунды (доли секунды). В Python strftime()
отображает микросекунды, а не миллисекунды, поэтому отображается 6 цифр.Если необходимо получить только миллисекунды, можно либо отрезать последние три символа от микросекундной части, либо разделить микросекунды на 1000:
import datetime
now = datetime.datetime.now()
# Способ 1: Обрезание строки
time_with_microseconds = now.strftime("%H:%M:%S.%f")
time_with_milliseconds = time_with_microseconds[:-3] #обрезаем последние 3 символа (микросекунды)
print(time_with_milliseconds)
# Способ 2: Арифметическое преобразование (если нужно число)
microseconds = now.microsecond
milliseconds = microseconds // 1000 # делим на 1000 чтобы получить миллисекунды
time_string = now.strftime("%H:%M:%S.") + str(milliseconds).zfill(3) # Дополняем нулями до 3 знаков
print(time_string)
Важно! Метод zfill(3)
используется для добавления ведущих нулей к числу миллисекунд, чтобы оно всегда имело 3 цифры (например, "005", "050", "500"). Это гарантирует, что строка времени всегда будет иметь одинаковый формат.
Второй способ, когда микросекунды делятся на 1000, дает нам число миллисекунд, а не строку. Это полезно, если вам необходимо выполнять какие-либо математические операции с миллисекундами. Затем, результат преобразуется в строку и конкатенируется с остальной частью строки времени.