2

私は分析のためにchrome 'History'ファイルのsqlite3を接続します。しかし、タイムスタンプであるlast_visit_timeのデータがありますが、リアルタイムに変更する方法がわかりません。私はこのようにテストします:

2012-04-18 23:22:11.084300 (utctime)

2012-04-19 01:22:11.084300 (myPC time)

12,979,264,931,952,304 (the time stamp in the data)

ほぼ同時に、utctime を印刷して Web サイトをクリックしました。だから私は上記のような統計を取得します。12,979,264,931,952,304 は long int なので、通常の変換方法はできません。

タイムスタンプを日付に変換するにはどうすればよいですか?

4

1 に答える 1

1

保存されるタイムスタンプは、1601 年 1 月 1 日の午前 0 時 UTC からのマイクロ秒数です。これを現在の時刻に変換するには、この回答の助けを借りて、次のようにエポック日付にマイクロ秒数を追加できます。

>>> import datetime
>>> epoch_start = datetime.datetime(1601, 1, 1)
>>> delta = datetime.timedelta(microseconds=12979264931952304)
>>> epoch_start + delta
datetime.datetime(2012, 4, 18, 23, 22, 11, 952304)

ローカル タイムゾーンに変換するには、次の方法を使用できます(現在、私は UTC - 4 ですが、あなたは UTC + 2 のように見えます):

>>> from dateutil import tz
>>> from_zone = tz.tzutc()
>>> to_zone = tz.tzlocal()
>>> utc_time = (epoch_start + delta).replace(tzinfo=from_zone)
>>> utc_time.astimezone(to_zone)
datetime.datetime(2012, 4, 18, 19, 22, 11, 952304, tzinfo=tzlocal())
于 2012-04-19T00:55:04.770 に答える