python - 使用 1-24 小时而不是 0-23 小时解析日期时间

标签 python

我有一个数据源,其中包含我正在用 Python 读取的日期时间。该程序总是在第 24 小时终止,因为 python 保存的是日期 0-23 而不是 1-24。

考虑到我得到像“2012/15/01 24”这样的字符串,处理这个问题的最佳方法是什么?

我可以使用正则表达式提取日期,将其转换为日期时间,然后再次使用正则表达式获取小时,转换为整数,减去一个小时,然后将小时添加到日期时间,但这看起来像很痛苦。

是否有更好的方法或更常见的方法?

最佳答案

不是我的,但它可以完成任务。

try:
     time = datetime.datetime.strptime(time, " %H:%M:%S.%f")
except ValueError:
     time = time.replace(' 24', ' 23')
     time = datetime.datetime.strptime(time, " %H:%M:%S.%f")
     time += datetime.timedelta(hours=1)

关于python - 使用 1-24 小时而不是 0-23 小时解析日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55142855/

相关文章:

python - 使用 contextlib.contextmanager 继承

Python:在符合给定条件的第一个对象的列表中查找位置

python - 单元测试数据库访问层

python - 递归地查找单向链表的第 k 到最后一个元素-Python

python - 使用 win32gui python 获取应用程序的图像名称

python - 使用 Python 3 的 FTP 文本文件为空

python - 试图通过python3将csv文件导入postgresql数据库

python - 如何使用 numpy 绘制 3D 高斯图?

python - 访问 python 子列表以导入 pandas DataFrame

python - 为什么我在抓取网站时会得到一个空列表?