Ted*_*mel 3 python string datetime date
Stackoverflow中有几个相同的问题,但这种情况不同.
作为输入,我有一个日期字符串,可以采用三种通用格式.或
a)2011年1月6日b)4天前c)12小时前
我希望脚本能够识别格式并使用参数调用适当的函数.
那么如果一个然后convert_full_string("2011年1月6日")
如果b然后convert_days(4)
if c then convert_hours(12)
一旦我识别出格式并能够调用适当的函数,它就会相对容易.我打算使用dateutil
但我不确定如何识别格式.
任何建议与代码样本非常感谢.
谢谢.
unu*_*tbu 12
使用parsedatetime,您可以将所有三种日期格式解析为datetime.datetime
对象,而无需自己编写逻辑代码:
import parsedatetime.parsedatetime as pdt
import parsedatetime.parsedatetime_consts as pdc
import datetime
c = pdc.Constants()
p = pdt.Calendar(c)
for text in ('january 6, 2011', '4 days ago', '12 hours ago'):
date=datetime.datetime(*p.parse(text)[0][:6])
# print(date.isoformat())
# 2011-01-06T09:00:18
# 2011-01-02T09:00:18
# 2011-01-05T21:00:18
print(date.strftime('%Y%m%dT%H%M%S'))
# 20110106T090208
# 20110102T090208
# 20110105T210208
Run Code Online (Sandbox Code Playgroud)