2010-02-03 19 views
5

Pierwotnie wysłałem to pytanie szukając odpowiedzi przy użyciu pythona, ale otrzymałem dobrą pomoc, ale wciąż nie udało się znaleźć rozwiązania. Mam skrypt działający na komputerach klienckich OS X 10.5, który przechwytuje historię przeglądania Internetu (wymagane jako część moich obowiązków administratora systemu w amerykańskiej szkole publicznej). Firefox 3.x przechowuje historię w dblite db, i mam zorientowali się, jak uzyskać tę informację za pomocą python/sqlite3. Firefox 3.x używa tradycyjnego unixtimestampa do oznaczania odwiedzin i nie jest to trudne do konwersji ... Chrome przechowuje również historię przeglądarki w sqlite db, ale jego datownik jest sformatowany jako liczba mikrosekund od stycznia 1601. Chciałbym aby to zrozumieć za pomocą pythona, ale o ile mi wiadomo, moduł sqlite3 nie obsługuje tego formatu UTC. Czy istnieje inne narzędzie do konwertowania znaczników czasu Chrome do formatu czytelnego dla człowieka?Konwersja daty/czasu historii historii Chrome na czytelny format

+0

Bardzo pomocny. Jak się dowiedziałeś, że znaczniki czasu Google Chrome to liczba mikrosekund od stycznia 1601? –

+1

Format Chrome SQLite, w tym Jan 1601, jest omówiony na stronie https://groups.google.com/forum/#!topic/chromium-extensions/c4lnssuNAFI –

Odpowiedz

5

Użyj modułu datetime. Na przykład, jeżeli liczba mikrosekund na pytania jest 10 ** 16:

>>> datetime.datetime(1601, 1, 1) + datetime.timedelta(microseconds=1e16) 
datetime.datetime(1917, 11, 21, 17, 46, 40) 
>>> _.isoformat() 
'1917-11-21T17:46:40' 

to powie Ci, że to tylko przeszłość kwadrans 6pm dnia 21 listopada 1917 roku można sformatować datetime obiektów w dowolny sposób dzięki ich metodzie strftime, oczywiście. Jeśli musisz również zastosować strefy czasowe (inne niż UTC, od którego zaczynasz), spójrz na moduł innej firmy (pytz).

+0

Dziękuję Alex! – cit