从字符串获取日期时间的函数datetime.strptime(date_string, format)需要字符串格式作为第二个参数.有没有办法从字符串构建日期时间而不知道确切的格式,并让Python最好猜测它?
Yar*_*rin 73
使用dateutil库.
我已经使用dateutil作为处理时区的必不可少的库
(请参阅将UTC日期时间字符串转换为本地日期时间以及如何在Python中将本地时间转换为UTC?)
我刚刚意识到它有日期解析支持:
import dateutil.parser
yourdate = dateutil.parser.parse(datestring)
Run Code Online (Sandbox Code Playgroud)
(另请参阅如何将ISO 8601日期时间字符串转换为Python日期时间对象?)
San*_*eep 12
如果只检查日期,可以使用简单的功能.
def get_date(s_date):
date_patterns = ["%d-%m-%Y", "%Y-%m-%d"]
for pattern in date_patterns:
try:
return datetime.datetime.strptime(s_date, pattern).date()
except:
pass
print "Date is not in expected format: %s" %(s_date)
sys.exit(0)
Run Code Online (Sandbox Code Playgroud)
小智 9
您可以使用 datefinder ,它将检测所有类型的自然风格的日期。
import datefinder # Module used to find different style of date with time
string_value = " created 01/15/2005 by ACME inc.and associates.January 4th,2017 at 8pm"
matches = datefinder.find_dates(string_value)
for match in matches:
print("match found ",match)
Run Code Online (Sandbox Code Playgroud)
输出
match found 2005-01-15 00:00:00
match found 2017-01-04 20:00:00
Run Code Online (Sandbox Code Playgroud)
在我成为一个蟒蛇人之前,我是一个perl家伙.我一直错过但没有看到任何接近它的东西之一是Date :: Manip.该模块可以从少量的半字节中提取一个好的时间戳.我几乎怀疑它的作者与魔鬼达成了协议.
我遇到了一些在Python中抨击它的东西:
如果你发现任何更好的东西我会喜欢听到它.
| 归档时间: |
|
| 查看次数: |
26600 次 |
| 最近记录: |