6

私は見てきた

およびインターネット上の他の記事がたくさんありますが、Chromeブックマークファイル(Windows)のdate_addedフィールドを適切な数値に変換する方法を一生理解できません。

たとえば13024882639633631、2013 年 9 月の日付であるはずですが、引用した最初のリンクで可能なすべての計算を試みましたが、適切な日付を取得できないようです。2010年として日付を計算し続けます。

4

3 に答える 3

9

クロムのブックマークで確認したところ、すべてに正しい値が返されました。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')
于 2013-09-29T08:50:40.203 に答える
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' ) )

出力: 2013 年 9 月 28 日 (土) 22:57:19

于 2013-11-30T23:40:30.757 に答える