Есть ли встроенная функция в python, которую я могу использовать для разбора временных меток MS? Например, это "\ X3A \ XCF \ x84 \ x72 \ x66 \ x42 \ XCD \ x01" соответствуют этой дате & время: 06/04/2012, 15: 26: 43,901625MS Timestamp parsing Python
0
A
ответ
0
Отметка времени (как @mandel mentioned) выглядит как FILETIME
-- a 64-bit value representing the number of 100-nanosecond intervals since January 1, 1601 (UTC):
import struct
from datetime import datetime, timedelta
def FILETIME_bytes_to_datetime(timestamp_bytes):
quadword, = struct.unpack('<Q', timestamp_bytes)
us = quadword // 10 - 11644473600000000
return datetime(1970, 1, 1) + timedelta(microseconds=us)
Пример:
>>> FILETIME_bytes_to_datetime(b"\x3a\xcf\x84\x72\x66\x42\xcd\x01")
datetime.datetime(2012, 6, 4, 15, 26, 43, 901625)
'<Q'
(маленький обратный порядок байт без знака 64-битовое целое число), не может работать на всех платформах (за счет выравнивания FILETIME STRUC поля зрения, сущность).
Чтобы разобрать значение на Windows, вы можете использовать ctypes.wintypes.FILETIME
структуру:
import ctypes
import os
from datetime import datetime, timedelta
if os.name == 'nt':
import ctypes.wintypes
FILETIME = ctypes.wintypes.FILETIME
else: # fallback
DWORD = ctypes.c_uint32
class FILETIME(ctypes.Structure):
_fields_ = [('dwLowDateTime', DWORD),
('dwHighDateTime', DWORD)]
def FILETIME_bytes_to_datetime(timestamp_bytes):
t = FILETIME.from_buffer_copy(timestamp_bytes)
quadword = (t.dwHighDateTime << 32) + t.dwLowDateTime
us = quadword // 10 - 11644473600000000
return datetime(1970, 1, 1) + timedelta(microseconds=us)
Он использует родной порядок байтов, выравнивание (вы можете заменить его в случае необходимости).
Смежные вопросы
- 1. Golang timestamp parsing
- 2. Parsing json in python
- 3. Parsing a Python JSON
- 4. logstash parsing timestamp полдня am/pm
- 5. MS-DOS timestamp in filename
- 6. Python parsing
- 7. MS Chart Parsing ChartType from string
- 8. Python Панда IX TIMESTAMP
- 9. Python сортировка timestamp
- 10. Python, Mongodb и timestamp
- 11. Python Timestamp Regular Expression
- 12. PYTHON минут от timestamp
- 13. Mac Адрес Timestamp python
- 14. Python BeautifulSoup parsing table
- 15. Python BeautifulSoup parsing
- 16. python parsing json response
- 17. аргумент parsing в python
- 18. python lxml parsing html
- 19. Python IP Parsing
- 20. python parsing mediacloud response
- 21. python imaplib parsing gmail
- 22. Python re string parsing
- 23. JSON parsing using python
- 24. Parsing Strings with Python
- 25. python parsing строка
- 26. Python parsing out inested
- 27. Python AND JSON Parsing
- 28. parsing C++ в python
- 29. Словарь parsing python
- 30. Python parsing json issue
Где находится метка времени? вы получаете структуру FILETIME? (http://msdn.microsoft.com/en-us/library/ms724284%28v=vs.85%29.aspx) – mandel
Он исходит из сети, в частности службы BROWSER. – n00bz0r