2

有谁知道 Python 模块可以轻松提取时间表达式,例如12/01/2011Monday, 12/3/1987或其他(英文格式)?

想避免构建大量的正则表达式。

4

2 回答 2

3

在标准库中你不会找到全面的东西,但如果你安装dateutils,你可以这样做:

>>> from dateutils import parser
>>> parser.parse('January 12, 2012').strftime('%s')
'1326315600'
>>> parser.parse('01/12/2012').strftime('%s')
'1326315600'
>>> parser.parse('Sunday, 16/09/2012').strftime('%s')
'1347742800'

Martijn 有一点,所以这里是正常的表示 - 这是datetimeobject

>>> parser.parse('Sunday, 16/09/2012')
datetime.datetime(2012, 9, 16, 0, 0)
>>> parser.parse('01/12/2012')
datetime.datetime(2012, 1, 12, 0, 0)
>>> parser.parse('January 12, 2012')
datetime.datetime(2012, 1, 12, 0, 0)
于 2012-09-16T10:57:28.847 回答
1

使用标准datetime.datetime.strptime()

例子:

In : datetime.datetime.strptime("12/01/2012", "%m/%d/%Y")
Out: datetime.datetime(2012, 12, 1, 0, 0)
于 2012-09-16T10:52:27.973 回答