कनवर्ट करते समय गलत दिनांक प्रारूप: पायथन - पायथन

मैंने एक बहुस्तरीय शब्दकोश का उल्लेख किया है जिसमें विभिन्न घटनाओं के साथ कई बार होते हैं। यह कोड है जो मैं उनके बीच अंतर की गणना के लिए बचत की दो घटनाओं को घटाना चाहता हूं:

{"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 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

और मैं उस समय को भी घटाना चाहता हूं, लेकिन घटाते समय
त्रुटि है: datetime.time () समर्थित ऑपरेंड नहीं है

उत्तर:

जवाब के लिए 0 № 1

strptime एक देता है 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

संबंधित सवाल
सबसे लोकप्रिय