[英]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.