UTC时间戳转换为日期时间返回意外日期

2024-09-28 22:41:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Python中的dictionary对象列表,其示例如下

data = [{'utcDay': 15846, 'count': 956}, {'utcDay': 15847, 'count': 1408}, {'utcDay': 15848, 'count': 1664}, {'utcDay': 15849, 'count': 1858}, {'utcDay': 15850, 'count': 1972}, {'utcDay': 15851, 'count': 2071}, {'utcDay': 15852, 'count': 2179}, {'utcDay': 15853, 'count': 2281}, {'utcDay': 15854, 'count': 2389}, {'utcDay': 15855, 'count': 2457}, {'utcDay': 15856, 'count': 2503}, {'utcDay': 15857, 'count': 2537}, {'utcDay': 15858, 'count': 2611}, {'utcDay': 15859, 'count': 2668}, {'utcDay': 15860, 'count': 2711}, {'utcDay': 15861, 'count': 2764}, {'utcDay': 15862, 'count': 2857}, {'utcDay': 15863, 'count': 2950}, {'utcDay': 15864, 'count': 2998}]

我想将所有“utcDay”键的内容转换为Datetime对象

当我执行以下两个utc时间戳转换时

for x in data:
    print(datetime.fromtimestamp(x["utcDay"]))

for x in data:
   print(time.ctime(x["utcDay"]))

我得到的输出与

1970-01-01 15:24:06
1970-01-01 15:24:07
1970-01-01 15:24:08
1970-01-01 15:24:09
1970-01-01 15:24:10
1970-01-01 15:24:11
1970-01-01 15:24:12
1970-01-01 15:24:13
1970-01-01 15:24:14
1970-01-01 15:24:15
1970-01-01 15:24:16
1970-01-01 15:24:17
1970-01-01 15:24:18
1970-01-01 15:24:19
1970-01-01 15:24:20
1970-01-01 15:24:21
1970-01-01 15:24:22
1970-01-01 15:24:23
1970-01-01 15:24:24
1970-01-01 15:24:25
...

我不清楚为什么每个时间戳都来自20世纪70年代,因为原始数据绘制在源网站上,范围从2013年5月左右到今天

即使将这些时间戳乘以1000/10000/100000/1000000的单位,也无法得到预期的结果。例如,这是我通过乘以1000得到的输出

1970-07-03 19:40:00
1970-07-03 19:56:40
1970-07-03 20:13:20
1970-07-03 20:30:00
1970-07-03 20:46:40
1970-07-03 21:03:20
1970-07-03 21:20:00
1970-07-03 21:36:40
1970-07-03 21:53:20
1970-07-03 22:10:00
1970-07-03 22:26:40
1970-07-03 22:43:20
1970-07-03 23:00:00
1970-07-03 23:16:40
1970-07-03 23:33:20
1970-07-03 23:50:00
1970-07-04 00:06:40
1970-07-04 00:23:20
1970-07-04 00:40:00
1970-07-04 00:56:40
1970-07-04 01:13:20
...

谢谢你看我的问题


Tags: 对象in示例内容列表fordatadatetime