python - 如何解析没有日期的时间字符串和没有时间的日期字符串?

标签 python date datetime time

有没有办法自动解析带有时间的字符串到 datetime.time 对象(或类似的东西)? datetime.date 相同。

我已经尝试过dateutil , arrow , moment , pandas.to_datetime 。 所有这些解析器都会创建带有当前日期的时间戳。

>>> from dateutil.parser import parse
>>> parse('23:53')
datetime.datetime(2019, 1, 8, 23, 53)  # datetime.time(23, 53) expected
>>> parse('2018-01-04')
datetime.datetime(2018, 1, 4, 0, 0)  # datetime.date(2018, 1, 4) expected

更新:

感谢您的回复。认为我应该澄清这个问题。

程序不知道输入中的内容(时间戳日期时间),它应该决定设置合适的类型。问题是区分这些类型。

例如,我可以解析 23:53 并获取时间戳。我如何决定是否从中提取时间?

最佳答案

您可以使用fromisoformat()来自日期时间

import datetime
datetime.time.fromisoformat('23:53')
datetime.date.fromisoformat('2018-01-04')

关于python - 如何解析没有日期的时间字符串和没有时间的日期字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54089071/

相关文章:

python - 在 python 中使用套接字发送文本和二进制文件

python - 如何修改整数中的位?

ruby-on-rails - 检查日期是否在日期范围内

DateTime.ParseExact 相当于 VB6?

python - 使用 Cityscapes 进行段错误训练 Deeplab

python - 如何在 SQLAlchemy 中将 "ANY"过滤器与 "<<="运算符结合使用?

javascript - 如何在 JavaScript 中给定日期添加三天?

javascript - HighCharts 错误的 xAxis 标签

python - 如何将 GMT 时间转换为字符串时间

MySQL 返回日期/时间现在减去 1 小时的记录?