Jaki jest najlepszy sposób na poradzenie sobie z częściami sekundy w Pythonie? Biblioteka datetime jest doskonała, ale z tego co wiem, nie może obsłużyć żadnej jednostki mniej niż sekundę.Python ułamek sekund
Odpowiedz
W module datetime, datetime, czas i wszyscy mają zajęcia timedelta najmniejsza rozdzielczość mikrosekund:
>>> from datetime import datetime, timedelta
>>> now = datetime.now()
>>> now
datetime.datetime(2009, 12, 4, 23, 3, 27, 343000)
>>> now.microsecond
343000
jeśli chcesz wyświetlić datetime z ułamków sekund, po prostu wstawić kropkę dziesiętną i rozebrać zera kończące:
>>> now.strftime("%Y-%m-%d %H:%M:%S.%f").rstrip('0')
'2009-12-04 23:03:27.343'
klasy datetime i godziny przyjmują tylko całkowite dane wejściowe, a godziny, minuty i sekundy muszą należeć do zakresu od 0 do 59, a mikrosekundy muszą należeć do zakresu od 0 do 999999. Jednak klasa timedelta będzie przyjmować wartości zmiennoprzecinkowe z ułamkami i robić wszystkie właściwe arytmetyka modulo dla Ciebie:
>>> span = timedelta(seconds=3662.567)
>>> span
datetime.timedelta(0, 3662, 567000)
podstawowymi składnikami timedelta są dni, sekund i mikrosekund (0, 3662, 567000 powyżej), ale konstruktor będzie również akceptować milisekundach godziny i tygodnie. Wszystkie dane wejściowe mogą być liczbami całkowitymi lub zmiennymi (dodatnimi lub ujemnymi). Wszystkie argumenty są przekształcane w stacje bazowe i znormalizowane tak, że 0 < = sekundy < 60 i 0 < = mikrosekund < 1000000.
można dodać albo odjąć Span datetime lub czasu np lub innego zakresu. Ośmieszaj się z tym, możesz prawdopodobnie łatwo wymyślić jakieś funkcje lub klasy, aby zrobić z zewnątrz to, co chcesz. Prawdopodobnie można wykonać wszystkie operacje przetwarzania daty/czasu za pomocą instancji timedelta w odniesieniu do niektórych stałych datetime, na przykład basetime = datetime(2000,1,1,0,0,0)
, a następnie przekonwertować je na instancję datetime lub czas wyświetlania lub przechowywania.
Dzięki, to jest dokładnie to, czego potrzebowałem. – TimothyAWiseman
@timothy: Nie ma za co, cieszę się, że mogłem pomóc. Jeśli jest to zaakceptowana odpowiedź, byłbym wdzięczny za czek. Dzięki. –
W jakim celu? czas importu -> time.clock() zwraca aktualny czas w milisekundach, dzięki czemu można go wykorzystać do pomiaru czasu z dokładnością do milisekund.
Aby uzyskać lepszą odpowiedź będziesz musiał podać swoje pytanie dalej, ale to powinno pokazać przynajmniej jak datetime can handle microseconds:
>>> from datetime import datetime
>>> t=datetime.now()
>>> t.microsecond
519943
NumPy 1.4 (na etapie kandydowania do wydania) obsługuje własne obiekty Date i DateArray. Jedyną zaletą jest to, że obsługuje częstotliwości mniejsze niż femtosekundy: http://projects.scipy.org/numpy/browser/trunk/doc/neps/datetime-proposal.rst
W przeciwnym razie chciałbym iść z regularnymi częstotliwościami podokresowymi datetime.
- 1. Python Konwersja ułamek na dziesiętne
- 2. Jak uprościć ułamek
- 3. Python: sekund od epoki do względnej daty
- 4. Python: konwertowanie sekund hh: mm: ss
- 5. jak przekonwertować ułamek na pływający w rubinie
- 6. Python - Konwersja sekund od czasu epoki w czytelnej czasie
- 7. Pętla w języku Python uruchamiana przez określoną liczbę sekund
- 8. Python Czas konwersji h: m: s dla sekund
- 9. Python `socket.getaddrinfo` trwa 5 sekund około 0,1% żądań
- 10. Python Tornado websockets jak wysłać wiadomość co X sekund?
- 11. SELECT/GROUP BY - segmenty czasu (10 sekund, 30 sekund, itp.)
- 12. Przekierowanie 10 sekund Odliczanie
- 13. TimeSpan.TotalMinutes bez sekund
- 14. Odliczanie sekund chrono
- 15. CMTime sekund output
- 16. FFMPEG: ostatnie 10 sekund
- 17. MYSQL - datetime do sekund
- 18. Formatowanie sekund i minut
- 19. Jak przeanalizować ułamek dziesiętny w produkcie Rational w języku Haskell?
- 20. Konwertuj ułamek dnia na czas POSIX w R
- 21. Pamięć podręczna z iskrami zachowuje tylko ułamek RDD
- 22. PHP: dodaj sekund do daty
- 23. Prowadzenie Cron co 30 sekund
- 24. odciągnięciu sekund w datetime pytona
- 25. Powtarzanie funkcji co kilka sekund
- 26. CLLocationManager.requestLocation() trwa około 10 sekund
- 27. Ile sekund "próbka" reprezentuje profiler?
- 28. python: czas formatowania upływa od sekund do godzin, minut i scekonów
- 29. Wykonaj kod co 10 sekund, ale zacznij także od 0 sekund
- 30. Efektywny sposób konwertowania sekund do minut i sekund w serwerze sql 2005
Do czego używasz sekund? Co chcesz zrobić z sekundami? –