Конвертировать числа из sqlite на сегодняшний день в Python - PullRequest
0 голосов
/ 19 декабря 2018

Я только что загрузил csv из sqlite со столбцом, содержащим даты.df выглядит следующим образом:

ROWID   text    is_from_me  handle_id   date
8       Esta muy    0       4           542735636047925696
9       Congratz    0       4           542735642840117952
10      En la       0       4           542735660785415872
11      Liked       1       4           542735693412165376

Как превратить столбец date в удобочитаемые даты?

Ответы [ 2 ]

0 голосов
/ 19 декабря 2018

Основываясь на принятом ответе, я скорректировал свой, просто чтобы здесь был зарегистрирован другой способ.: -)

from datetime import datetime

# 1970-01-01 00:00:00
unix_epoch = datetime(1970, 1, 1, 0, 0, 0)

# 2001-01-01 00:00:00   
mac_epoch = datetime(2001, 1, 1, 0, 0, 0)

# 1s = 10e9 ns
ns = 10**9

date = datetime.fromtimestamp(542735636047925696/ns) + (mac_epoch - unix_epoch)

print(date)

>>> 2018-03-14 15:53:56.047926
0 голосов
/ 19 декабря 2018

Кажется, что первые 9 цифр могут представлять секунды с 2001-01-01 00: 00: 00.

import time, datetime
t = time.gmtime(int("542735636047925696"[0:9])+978307200)
timestamp = time.mktime(t)
dt = datetime.datetime.fromtimestamp(timestamp)    
print(dt.strftime('%Y-%m-%d %H:%M:%S'))

# 2018-03-14 15:53:56

На основе Анализ поля «дата» в файле SMS с iPhone из резервной копии

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...