如何解析Chrome书签文件中的date_added字段?

kei*_*m23 6 python datetime google-chrome

我看了看

互联网上的其他文章,但我不能在生活中理解如何将Chrome书签文件(Windows)中的date_added字段转换为合理的数字.

例如13024882639633631,应该是2013年9月的日期,但我在我引用的第一个链接中尝试了所有可能的计算,但似乎无法获得合理的约会.它一直在计算日期为2010年.

Zaw*_*Lin 8

我用chrome书签检查了它,它为所有人提供了正确的值.13024882639633631似乎是昨天.点击此处https://code.google.com/p/chromium/codesearch#chromium/src/base/time/time_win.cc&sq=package:chromium&type=cs并搜索MicrosecondsToFileTime

import datetime

def getFiletime(dt):
    microseconds = int(dt, 16) / 10
    seconds, microseconds = divmod(microseconds, 1000000)
    days, seconds = divmod(seconds, 86400)

    return datetime.datetime(1601, 1, 1) + datetime.timedelta(days, seconds, microseconds)

print format(getFiletime(hex(13024882639633631*10)[2:17]), '%a, %d %B %Y %H:%M:%S %Z')
Run Code Online (Sandbox Code Playgroud)


Ran*_*tka 5

这只是Zaw LIn对python 3的回答.

import datetime

def getFiletime(dtms):
  seconds, micros = divmod(dtms, 1000000)
  days, seconds = divmod(seconds, 86400)

  return datetime.datetime(1601, 1, 1) + datetime.timedelta(days, seconds, micros)

print( getFiletime(13024882639633631).strftime( '%a, %d %B %Y %H:%M:%S %Z' ) )
Run Code Online (Sandbox Code Playgroud)

产出:2013年9月28日星期六22:57:19