cyb*_*mon 8 python python-datetime
我正在从传感器收集一些数据,我从中获取时间戳,如下所示:
"time": {
"seconds": 40,
"year": 115,
"month": 5,
"hours": 7,
"time": 1434549820776,
"date": 17,
"minutes": 3,
"day": 3,
"timezoneOffset": 420
},
Run Code Online (Sandbox Code Playgroud)
我有一个python脚本来处理来自传感器的数据(传入的数据是json格式),我取值time并转换成可读的时间格式.
我用过datetime.fromtimestamp(1434549820776/1000).strftime('%Y-%m-%d %H:%M:%S'),然后回来了'2015-06-17 15:03:40'
当作为datetime.utcfromtimestamp(1434549820776/1000).strftime('%Y-%m-%d %H:%M:%S')
退换:'2015-06-17 14:03:40'
你可以有一个小时的差异,所以我的问题是哪一个更好用?
两者都是正确的,只是他们没有给你同样的时间.两者都假设时间戳是EPOCH的毫秒数(通常是1/01/1970 00:00 UTC),并且:
fromtimestamp 以当地时间为您提供日期和时间utcfromtimestamp 为您提供UTC的日期和时间.因为我不知道你住在哪里(英国?)我不能多说,在西班牙,法国,比利时和丹麦,当地时间冬天是UTC + 1,夏天是UTC + 2.
您必须知道您是否需要UTC时间或当地时间.
看看你的json,你可以看到时间戳对应于2015-06-17 07:03:40.
timezoneOffset告诉您本地时间和UTC时间之间有7个小时的差异=>与您的json对应的UTC时间是2015-06-17 14:03:40.
由于这是您在使用时获得的datetime.utcfromtimestamp(1434549820776/1000).strftime('%Y-%m-%d %H:%M:%S')(=>'2015-06-17 14:03:40'),这意味着您的时间戳以UTC时间写入,因此您应该使用,utcfromtimestamp如果您想要准确.
| 归档时间: |
|
| 查看次数: |
28005 次 |
| 最近记录: |