У меня есть несколько файлов журналов со временем в формате HH: MM :: SS.nano_seconds (например, 01: 02: 03.123456789). Я хотел бы создать datetime в python, чтобы я мог аккуратно выполнять математику по времени (например, принимать временные различия). strptime хорошо работает для микросекунд с использованием% f. Могут ли модули времени и времени Python не поддерживать наносекунды?Разбор строк datetime, содержащих наносекунды
ответ
Вы можете видеть from the source, что объекты datetime не поддерживают ничего более прекрасного, чем микросекунды. Как отметил Майк Пеннингтон в комментариях, это связано с тем, что actual hardware clocks aren't nearly that precise. Википедия говорит, что HPET имеет частоту «не менее 10 МГц», что означает один тик на 100 наносекунд.
Если вы можете жить с выкидыванием последних трех цифр (что, вероятно, не так уж и важно), вы можете разобрать это, просто нарезая входную строку, чтобы иметь только шесть цифр после десятичной точки и разбор с %f
. В противном случае, похоже, вам придется реализовать вычитание самостоятельно.
Спасибо. Это то, что я подозревал. – user1332148
Системные часы - это не единственный источник времени, который можно использовать для datetime и timedelta. Это раздражает (граничит с миопическим идиотизмом), что они не реализованы с использованием nsecs вместо usec. – travc
@travc: существует проблема с CPython: [модуль datetime не поддерживает наносекунды] (https://bugs.python.org/issue15443) – jfs
- 1. Разбор строк datetime с микросекундами
- 2. Игнорировать наносекунды в createFromFormat
- 3. Разбор строки в DateTime
- 4. Разбор пользовательской строки DateTime
- 5. Странно DateTime разбор ошибка
- 6. DateTime разбор C#
- 7. Сортировка строк, содержащих число
- 8. Удаление строк, содержащих ASCII
- 9. Удаление строк, содержащих нуль
- 10. Замена строк, содержащих $ символов
- 11. Разделение строк, содержащих значения
- 12. Поиск строк, содержащих знак «@»
- 13. Разбор C# datetime для javascript datetime
- 14. Разбор ключевых слов, содержащих пробел между словами
- 15. Разбор чисел, содержащих запятые или периоды
- 16. ActiveRecord разбор строки для datetime?
- 17. Проблема сравнения строк, содержащих числа
- 18. Поиск строк, содержащих все строки
- 19. Удаление строк, содержащих специальные символы
- 20. Пакет - Удаление строк, содержащих трубу
- 21. Извлечение строк, содержащих «другие строки?
- 22. Удаление строк, содержащих повторяющиеся строки
- 23. Сравнение строк, содержащих случайное число
- 24. Подсчет числа строк, содержащих шаблон
- 25. найти индексов строк, содержащих NaN
- 26. Django поиск строк, содержащих пробелы
- 27. сравнение строк, содержащих отформатированные данные
- 28. Извлечение строк, содержащих определенные слова
- 29. Удаление строк, содержащих excel vba
- 30. Windows C++ наносекунды времени?
Возможный дубликат [Получить время POSIX/Unix в секундах и наносекундах в Python?] (Http://stackoverflow.com/questions/2394485/get-posix-unix-time-in-seconds-and-nanoseconds-in -python) –
@MikePennington Этот вопрос связан с получением часов с наносекундами, а не с их анализом и математикой на них независимо от фактических часов. – Dougal
@ Dougal, вопрос очень уместен, поскольку они указывают, что точность наносекундного времени требует поддержки платформы, а большинство нет. В этом вопросе также обсуждается строковое форматирование наносекунд –