Уведомления

Группа в Telegram: @pythonsu

#1 Май 9, 2019 20:05:38

SharkyEXE
Зарегистрирован: 2017-12-10
Сообщения: 68
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогить понять Microsecond и Milliseconds

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

Есть код номер 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) Должно или нет первые три цифры Микросекунд и первые три цифры Миллисекунд быть одинаковыми?

Спасибо.

Отредактировано SharkyEXE (Май 9, 2019 20:14:48)

Офлайн

#2 Май 9, 2019 20:34:35

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Помогить понять Microsecond и Milliseconds

1)

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

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



Офлайн

#3 Май 9, 2019 20:39:58

SharkyEXE
Зарегистрирован: 2017-12-10
Сообщения: 68
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогить понять Microsecond и Milliseconds

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ри цифры
Я новичек, я не могу сам это сделать
Спасибо.

Отредактировано SharkyEXE (Май 9, 2019 20:47:16)

Офлайн

#4 Май 9, 2019 20:48:52

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2849
Репутация: +  186  -
Профиль   Отправить e-mail  

Помогить понять Microsecond и Milliseconds

У меня всё нормально.

 >>> 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'



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#5 Май 9, 2019 21:12:50

SharkyEXE
Зарегистрирован: 2017-12-10
Сообщения: 68
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогить понять Microsecond и Milliseconds

Rodegast

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

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

Очень нужно

Спаисбо.

Офлайн

#6 Май 9, 2019 22:24:35

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2849
Репутация: +  186  -
Профиль   Отправить e-mail  

Помогить понять Microsecond и Milliseconds

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

localtime будет до секунд округлять, по этому надо time использовать

 >>> import time
>>> time.time()
1557429798.1842282



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#7 Май 9, 2019 22:31:46

SharkyEXE
Зарегистрирован: 2017-12-10
Сообщения: 68
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогить понять Microsecond и Milliseconds

Rodegast

А как из этого сделать нормальный разбор - вывод как strftime + Микросекунды и Миллисекунды?

Офлайн

#8 Май 9, 2019 23:01:40

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2849
Репутация: +  186  -
Профиль   Отправить e-mail  

Помогить понять Microsecond и Milliseconds

 >>> 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



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#9 Май 9, 2019 23:03:55

SharkyEXE
Зарегистрирован: 2017-12-10
Сообщения: 68
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогить понять Microsecond и Milliseconds

Rodegast

Спасибо.

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

Чтобы на выходе было так
20:00:57.148
20:00:57.148530

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version