Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if datetime.strptime(item, '%Y') or datetime.strptime(item, '%b %d %y') or datetime.strptime(item, '%b %d %Y') or datetime.strptime(item, '%B %d %y') or datetime.strptime(item, '%B %d %Y'):
- if item is date:
- print date
- else:
- print "Not a date"
- from dateutil.parser import parse
- def is_date(string):
- try:
- parse(string)
- return "is a date"
- except ValueError:
- return "not a date"
- is_date("1990-12-1") # "is a date"
- is_date("xyznotadate") # "not a date"
- txt='''
- Jan 19, 1990
- January 19, 1990
- Jan 19,1990
- 01/19/1990
- 01/19/90
- 1990
- Jan 1990
- January1990'''
- import datetime as dt
- fmts = ('%Y','%b %d, %Y','%b %d, %Y','%B %d, %Y','%B %d %Y','%m/%d/%Y','%m/%d/%y','%b %Y','%B%Y','%b %d,%Y')
- parsed=[]
- for e in txt.splitlines():
- for fmt in fmts:
- try:
- t = dt.datetime.strptime(e, fmt)
- parsed.append((e, fmt, t))
- break
- except ValueError as err:
- pass
- # check that all the cases are handled
- success={t[0] for t in parsed}
- for e in txt.splitlines():
- if e not in success:
- print e
- for t in parsed:
- print '"{:20}" => "{:20}" => {}'.format(*t)
- "Jan 19, 1990 " => "%b %d, %Y " => 1990-01-19 00:00:00
- "January 19, 1990 " => "%B %d, %Y " => 1990-01-19 00:00:00
- "Jan 19,1990 " => "%b %d,%Y " => 1990-01-19 00:00:00
- "01/19/1990 " => "%m/%d/%Y " => 1990-01-19 00:00:00
- "01/19/90 " => "%m/%d/%y " => 1990-01-19 00:00:00
- "1990 " => "%Y " => 1990-01-01 00:00:00
- "Jan 1990 " => "%b %Y " => 1990-01-01 00:00:00
- "January1990 " => "%B%Y " => 1990-01-01 00:00:00
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement