簡體   English   中英

將Long Int時間戳轉換為日期/時間

[英]Convert Long Int Timestamp to Date/Time

我使用連接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並單擊了一個網站。 所以我得到了上面的統計數據。 12,979,264,931,952,304是long int,因此無法使用正常的轉換方法。

如何將時間戳轉換為日期?

它存儲的時間戳是自1月1日,1601將此轉換為當前的時間,你可以添加你需要的划時代日期微秒的數量,以幫助午夜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())

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM