转换时日期格式错误:Python

2024-09-28 03:18:24 发布

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

我提到了一个多层次的字典,它包含了不同的时间和不同的事件。这是我想减去两个save事件的代码,以计算它们之间的差异:

{'eventtime': 
    {'6': {'keypressevent': '14:08:33:806443', 'eventdestroytime': '14:08:35:144520', 'systemtime': '14:08:29:143176', 'keyreleaseevent': '14:08:38:574716'}, 
     '7': {'keypressevent': '14:08:02:318642', 'eventdestroytime': '14:08:02:025625', 'systemtime': '14:07:55:025225', 'keyreleaseevent': '14:08:05:590829'}, 
     '5': {'keypressevent': '14:08:22:198779', 'eventdestroytime': '14:08:21:855759', 'systemtime': '14:08:16:854473', 'keyreleaseevent': '14:08:27:143062'}, 
     '3': {'keypressevent': '14:08:10:919134', 'eventdestroytime': '14:08:10:592115', 'systemtime': '14:08:07:590944', 'keyreleaseevent': '14:08:14:854359'}
}, 
'userinfo': {'gender': 'm', 'usercode': 'TY123', 'weight': '65', 'age': '26', 'event': 'r', 'height': '165'}}

而我在下面的for循环中使用strtime转换时间。我得到错误的时间格式输出:

for ct in self.reproductioninfo['eventtime']:
    print(datetime.strptime(self.reproductioninfo['eventtime'][ct]['keypressevent'], '%H:%M:%S:%f'))

输出为:错误

1900-01-01 14:08:33.806443
1900-01-01 14:08:02.318642
1900-01-01 14:08:22.198779
1900-01-01 14:08:10.919134

输出应为:

14:08:33.806443
14:08:02.318642
14:08:22.198779
14:08:10.919134

我也想减去时间,但同时减去
错误是:日期时间.time()不支持操作数


Tags: 代码selffor字典save错误时间事件
1条回答
网友
1楼 · 发布于 2024-09-28 03:18:24

^{}返回一个datetime实例,包括年、月和日。如果您没有在输入中提供这些,它们将是1900-01-01。你知道吗

比较两个datetime实例是可行的,也可以用strftime打印它们。你知道吗

import datetime

format = "%H:%M:%S:%f"
d1 = "14:08:33:806443"
d2 = "14:08:02:318642"

p1 = datetime.datetime.strptime(d1, format)
p2 = datetime.datetime.strptime(d2, format)

print(p1 > p2)

print(p1.strftime(format))
print(p2.strftime(format))

print(p1 - p2)

输出:

True
14:08:33:806443
14:08:02:318642
0:00:31.487801

相关问题 更多 >

    热门问题