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

标签 python

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

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

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

是否有更好的方法或更通用的方法?

最佳答案

不是我的,但它会完成工作。

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/19801783/

相关文章:

python - python中上下文包的导入错误

Python赋值解构

Python sqlite3 版本

python - 值错误: No JSON object could be decoded for a valid JSON file

python - Django HttpResponse 返回对象而不是指定的字符串

python - 内置范围函数如何接受一个或三个参数?

python - python中环算法中的 token 传递

python - Pandas DataFrame 中的列总和

python - 匹配 PEP440 兼容版本字符串的正则表达式

python - 从 NumPy 中的不均匀采样数据生成均匀采样数组