Python - преобразование метки времени - PullRequest
0 голосов
/ 22 мая 2018

Я преобразовал некоторые данные датчика в формат CSV.Данные содержат атрибут timestamp, который разделен на две части следующим образом:

measurement_timestamp_begin: 
  seconds: 3733032665
  fractions: 3056174174

Мне нужно преобразовать его в стандартный формат меток времени UNIX.Я видел несколько сообщений о преобразовании, но каждый метод получает один аргумент.Я не понимаю часть фракция .Означает ли это seconds.fraction ?например, 3733032665.3056174174 .

1 Ответ

0 голосов
/ 23 мая 2018

Следующий код преобразует вышеуказанный формат отметки времени в стандартный формат отметки времени UNIX.

#!/usr/bin/env python

import datetime, time

unix_epoch = datetime.date(*time.gmtime(0)[0:3])

ntp_epoch = datetime.date(1900, 1, 1)

ntp_delta = (unix_epoch - ntp_epoch).days * 24 * 3600

def ntp_to_unix_time(date):
    return (date - ntp_delta)

print datetime.datetime.fromtimestamp(int(ntp_to_unix_time(3733032665.3056174174))).strftime('%Y-%m-%d %H:%M:%S')
...