Próbuję użyć strftime () z dokładnością do mikrosekund, co wydaje się możliwe przy użyciu% f (jak podano tutaj ). Jednak gdy spróbuję poniższego kodu:
import time
import strftime from time
print strftime("%H:%M:%S.%f")
... Otrzymuję godzinę, minuty i sekundy, ale% f wypisuje się jako% f, bez znaku mikrosekund. Używam Pythona 2.6.5 na Ubuntu, więc powinno działać dobrze, a% f powinien być obsługiwany (jest obsługiwany w wersji 2.6 i nowszych, o ile wiem).
%z
datetime
obsługuje%z
dyrektywę, podczas gdy czas nie wydaje się .%z
w Pythonie 3 :-) tutaj jestfrom datetime import datetime
. Jeśli po prostu toimport datetime
zrobisz, będziesz musiał skorzystaćdatetime.datetime.now().strftime("%H:%M:%S.%f")
Patrzysz na niewłaściwą dokumentację.
time
Moduł ma inną dokumentację .Możesz użyć
datetime
modułu wstrftime
następujący sposób:źródło
Z
time
modułem Pythona nie możesz uzyskać mikrosekund z%f
.Dla tych, którzy nadal chcą korzystać
time
tylko z modułu, oto obejście:Powinieneś dostać coś takiego jak 2017-01-16 16: 42: 34.625 EET (tak, używam milisekund, bo to wystarczy).
Aby podzielić kod na szczegóły, wklej poniższy kod do konsoli Pythona:
W celu wyjaśnienia wklejam tutaj również wynik z Pythona 2.7.12:
źródło
To powinno wystarczyć
To się wydrukuje
HH:MM:SS.microseconds
jak to np14:38:19.425961
źródło
Możesz również uzyskać precyzję w mikrosekundach z
time
modułu za pomocą jegotime()
funkcji.(
time.time()
zwraca czas w sekundach od epoki. Jego część ułamkowa to czas w mikrosekundach, czyli taki, jaki chcesz).źródło
Jeśli „% f” dla mikro sekund nie działa, użyj następującej metody:
źródło
Jeśli chcesz szybkości, spróbuj tego:
Gdzie
prec
jest precyzja - ile miejsc dziesiętnych chcesz. Należy pamiętać, że funkcja nie ma problemów z zerami wiodącymi w części ułamkowej, jak w przypadku niektórych innych przedstawionych tutaj rozwiązań.źródło
Jeśli chcesz liczbę całkowitą, wypróbuj ten kod:
Wynik:
źródło