【发布时间】:2020-08-07 11:57:00
【问题描述】:
希望你们一切都好。
我一直在解决这个特殊的问题,即找出 2 次之间的时间差(所有不同的格式)。我已经部分解决了某些情况,但目前不明白如何为所有情况创建解决方案。
我的分步过程包括:
-
将所有数据(最初为字符串格式)转换为日期时间格式
-
发现时间以不同的字符串格式表示以正确转换为日期时间格式而不丢失 PM 准确性的情况仍然是 PM,如果它是 '4' 而不是 4PM 或 16:00,则不转换为 AM
-
然后...计算2次之间的差异(一次以日期时间格式)
一些细节包括查找以下时间的时差(最初和本示例中存储为字符串):
- 16-19
- 19.30-20.00
- 5PM-6PM
- 4-5
- 5-5.10PM
- 16 - 18(是的,数字和连字符之间的空格是故意的,尽管一些字符串操作应该很简单地解决这个问题)
- 12 - 14
我已设法将 16-19 转换为:16:00:00 和 19:00:00,但是对于 19.30-20.00 示例,我收到以下错误:ValueError("unconverted data remains: %s" % ValueError: unconverted data remains: .30。
我假设这是由于我的代码实现:
theDate1, theDate2 = datetime.strptime(temp[0: temp.find('-')], "%H"), datetime.strptime(temp[temp.find('-') + 1: len(temp)], "%H")
...其中 19.30-20.00 包括一个 %M 部分而不仅仅是一个 %H 所以代码没有说明如何处理 :30 部分。我打算尝试一个条件部分,如果字符串有 16-19,则运行一些代码,如果字符串有 19.30-20.00,则运行一些其他代码(其他示例也是如此)。
抱歉,如果我的解释有点过头了...我正处于一起破解解决方案并尝试所有不同组合的顶空。
感谢您对此的任何指导!
祝你有美好的一天。
【问题讨论】:
标签: python python-3.x string datetime