Python - 时间戳转换

时间:2018-05-22 10:27:20

标签: python-2.7 timestamp unix-timestamp datetime-conversion

我已将一些传感器数据转换为CSV格式。该数据包含timestamp属性,该属性分为以下两部分:

measurement_timestamp_begin: 
  seconds: 3733032665
  fractions: 3056174174

我需要将其转换为标准的UNIX时间戳格式。我看到几个帖子用于转换,但每个方法都接收一个参数。我不理解分数部分。这是否意味着 seconds.fraction ?例如的 3733032665.3056174174

1 个答案:

答案 0 :(得分:0)

以下代码将上述时间戳格式转换为标准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')