hoj*_*oju 17 python datetime parsing strptime
我想将这些日期解析为datetime对象:
以下将适用于第一个日期:
datetime.strptime("December 12th, 2008", "%B %dth, %Y")
Run Code Online (Sandbox Code Playgroud)
但由于日期编号('st')的后缀,第二次会失败.那么,strptime中是否存在无证的通配符?还是一个更好的方法?
Gre*_*reg 18
尝试使用dateutil.parser模块.
import dateutil.parser
date1 = dateutil.parser.parse("December 12th, 2008")
date2 = dateutil.parser.parse("January 1st, 2009")
Run Code Online (Sandbox Code Playgroud)
可在此处找到其他文档:http://labix.org/python-dateutil
你需要Gustavo Niemeyer的python_dateutil - 一旦安装完毕,
>>> from dateutil import parser
>>> parser.parse('December 12th, 2008')
datetime.datetime(2008, 12, 12, 0, 0)
>>> parser.parse('January 1st, 2009')
datetime.datetime(2009, 1, 1, 0, 0)
>>>
Run Code Online (Sandbox Code Playgroud)
strptime很棘手,因为它依赖于底层的C库来实现它,所以平台之间的一些细节不同.似乎没有办法匹配你需要的角色.但您可以先清理数据:
# Remove ordinal suffixes from numbers.
date_in = re.sub(r"(st|nd|rd|th),", ",", date_in)
# Parse the pure date.
date = datetime.strptime(date_in, "%B %d, %Y")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14569 次 |
| 最近记录: |