我有一个场景,我可以使用以下任何格式获取日期时间。
1) 作为以下格式的字符串:1970-01-01T00:00:00
2)“现在-5m”
3)“现在-1小时”
或与 min、second 甚至 day 类似的组合,我想要一个比这个给定时间早 x min 的时间,最好的方法是什么?是否有任何库可以处理所有这些格式并以某种统一格式为我提供日期时间?
经过更多研究,我发现有一个名为 dateparser 的模块,它提供了一种解析方法,使用 parse 方法我们可以将任何格式转换为 datetime.datetime 对象,然后我们可以按照 prosti 的建议使用相对增量方法进行减法。
示例代码
import dateparser
from dateutil.relativedelta import relativedelta
print(dateparser.parse("now"))
print(dateparser.parse("now-30s"))
print(dateparser.parse("now-5m"))
print(dateparser.parse("1970-01-01T00:00:00"))
print(dateparser.parse("1970/01/01T00:00:00"))
print(type(dateparser.parse("1970/01/01T00:00:00")))
dt = dateparser.parse("now-5m")
print(dt - relativedelta(minutes=10)) # equals to now -15 min
Run Code Online (Sandbox Code Playgroud)
输出::
2019-05-06 12:55:54.074220
2019-05-06 12:55:24.076534
2019-05-06 12:50:54.077823
1970-01-01 00:00:00
1970-01-01 00:00:00
2019-05-06 12:40:54.087881
您可以在 :: https://pypi.org/project/dateparser/阅读更多信息