003_007 Python 日期的模糊查询 即读取不太符合标准的日期信息

代码如下:

#encoding=utf-8

print '中国'

#日期的模糊查询 即读取不太符合标准的日期信息

import datetime
import dateutil.parser

def tryParse(date):
    kwargs = {}
    if isinstance(date,(tuple,list)):
        date=' '.join([str(x) for x in date])
    elif isinstance(date, int):
        date=str(date)
    elif isinstance(date,dict):
        kwargs=date
        date = kwargs.pop('date')    
    try:
        try:
            parsedate = dateutil.parser.parse(date, **kwargs)
            print 'date and parse result: %r->%s'%(date,parsedate)
        except ValueError:
            parsedate = dateutil.parser.parse(date,fuzzy=True, **kwargs)
            print 'Fuzzy: %r->%s'%(date,parsedate)
    except Exception,err:
        print "Can't parse"

datelist=["January 3,2003",
         (5,"Oct",55),
         "Thursday, November 18",
         "7/24/04",
         "24-7-2005",
         {'date':"5-10-1998","dayfirst":True},
         "5-10-18",
         19960708,
         "11AM on the 11th day of 11th mothn,in the year of our Lord 1945"]

for date in datelist:
    tryParse(date)

打印结果如下:

中国
date and parse result: 'January 3,2003'->2003-01-03 00:00:00
date and parse result: '5 Oct 55'->2055-10-05 00:00:00
date and parse result: 'Thursday, November 18'->2014-11-18 00:00:00
date and parse result: '7/24/04'->2004-07-24 00:00:00
date and parse result: '24-7-2005'->2005-07-24 00:00:00
date and parse result: '5-10-1998'->1998-10-05 00:00:00
date and parse result: '5-10-18'->2018-05-10 00:00:00
date and parse result: '19960708'->1996-07-08 00:00:00
Fuzzy: '11AM on the 11th day of 11th mothn,in the year of our Lord 1945'->1945-11-11 11:00:00

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

书山登峰人

精品不易

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值