2012-04-18 16 views
2

私は、クロム「履歴」ファイルのsqlite3を分析に使用します。しかし、タイムスタンプであるlast_visit_timeのデータがありますが、リアルタイムに変更する方法はわかりません。 私はこのようなテスト:私は、ほぼ同じ時刻に、UTC時刻を印刷し、ウェブサイトをクリックしたLong Intタイムスタンプを日付/時刻に変換する

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) 

。だから私は上記のような統計を得る。 12,979,264,931,952,304はlong intなので、変換する通常の方法は不可能です。

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

答えて

1

タイムスタンプは、1601年1月1日のUTC午前0時からのマイクロ秒数です。これを現在の時刻に変換するには、エポック日付に必要なマイクロ秒数をthis answerのように追加しますこれは:

>>> 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だということに注意してください - あなたはUTC + 2であるように見えながら、4)this methodを使用することができ、あなたの地域のタイムゾーンに変換するには:

>>> 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()) 
+0

はい!ありがとうございました!!! – Alex

関連する問題