Найти - Пользователи
Полная версия: Помогить понять Microsecond и Milliseconds
Начало » Python для новичков » Помогить понять Microsecond и Milliseconds
1
SharkyEXE
Здравствуйте.

Есть код номер 1 - Миллисекунды
 (dt, micro) = datetime.now().strftime('%H:%M:%S.%f').split('.')
dt = "%s.%03d" % (dt, int(micro) / 1000)
return dt
который возвращает как 19:48:02.581

Есть код номер 2 - Микросекунды
 dt = datetime.now().strftime('%H:%M:%S.%f')
return dt
который возвращает как 19:48:39.520111

То есть в одно и тоже время 19:48 - разные первые три цифры : Миллисекунды 581 , Микросекунды 520

По моей идеи , первые три цифры Микросекунд и первые три цифры Миллисекунд быть одинаковыми = 520

1) Пожалуйста , я Вас очень прошу , сделайте так, чтобы код номер 1 просто и без идеи отбрасывал сзади 3ри цифры , а не пересчитывал значение

2) Должно или нет первые три цифры Микросекунд и первые три цифры Миллисекунд быть одинаковыми?

Спасибо.
doza_and
1)
SharkyEXE
сделайте так, чтобы код номер 1 просто и без идеи отбрасывал сзади 3ри цифры
Среди нас нет Хоттабыча чтобы творить чудеса. Что вы в коде написали то он и будет делать, изменить это невозможно.
Вы имели ввиду напишите НОВЫЙ код чтобы он ….?
SharkyEXE
Должно или нет … три цифры Миллисекунд быть одинаковыми
Не должны. Если вы не заметили у вас и секунды разные. Это река времени. Нельзя дважды войти в одну и туже реку…

Если вам нужны разные форматы времени то сначала запомните время,
 my_fixed_time = datetime.now()
my_fixed_time.strftime('%H:%M:%S.%f')
а потом можете хоть 100 раз его форматировать в любых видах при помощи strftime
SharkyEXE
doza_and

Здравствуйте.

1) По поводу
у вас и секунды разные
Я специально как на Миллисекундах , так и на Микросекундах по 1й минуте смотрел - в течении 1 минуты меняются +1 или -1 максимум
Например , Миллисекунды , в течении 1 минуты , время с 20:41:00 по 20:42:00 включительно , первые три цифры сначала, слева менялись 641 , 642 , 643
То жо самое и с Микросекундами , в течении 1 минуты , время с 20:43:00 по 20:44:00 включительно , первые три цифры сначала, слева менялись 696 , 697 , 698
Мне нет смысла вводить в заблуждение
2) Пожалуйста, напишите, как мне сделать , чтобы у меня было как мне хотелось бы
первые три цифры Микросекунд и первые три цифры Миллисекунд быть одинаковыми
То есть чтобы Миллисекунды - отбрасывалось сзади 3ри цифры
Я новичек, я не могу сам это сделать
Спасибо.
Rodegast
У меня всё нормально.
 >>> from datetime import datetime
>>> now = datetime.now()
>>> (dt, micro) = now.strftime('%H:%M:%S.%f').split('.')
>>> "%s.%03d" % (dt, int(micro) / 1000)
'20:46:45.257'
>>> now.strftime('%H:%M:%S.%f')
'20:46:45.257059'
SharkyEXE
Rodegast

Здравствуйте.

Есть или нет способ получить Микросекунды и Миллисекунды не из datetime , а из localtime(time)?

Очень нужно

Спаисбо.
Rodegast
> Есть или нет способ получить Микросекунды и Миллисекунды не из datetime , а из localtime(time)?

localtime будет до секунд округлять, по этому надо time использовать
 >>> import time
>>> time.time()
1557429798.1842282
SharkyEXE
Rodegast

А как из этого сделать нормальный разбор - вывод как strftime + Микросекунды и Миллисекунды?
Rodegast
 >>> t = time.time()
>>> t
1557432057.14853
>>> time.strftime("%H:%M:%S", time.gmtime(t))
'20:00:57'
>>> int((t - int(t)) * 10**3)
148
>>> int((t - int(t)) * 10**6)
148530
SharkyEXE
Rodegast

Спасибо.

А как сделать полноценынй вывод
strftime(“%H:%M:%S”) + Миллисекунды
strftime(“%H:%M:%S”) + Микросекунды

Чтобы на выходе было так
20:00:57.148
20:00:57.148530
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB