Parsing the string to Dates in python
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Parse date and format it using python?
号
我对Python很陌生。我有以下两条线:
1 2 | Mon, 29 Oct 2012 13:07:07 GMT 2012-10-29 12:57:08 |
我希望在python中可以有任何日期解析lib,它可以将上面的两个字符串解析为如下类型:
1 | 2012-10-29 12:57:08 |
号
以便我可以比较它们。注意,比较应该能够产生类似整数比较的结果。同
在python中有什么容易做到的吗?
事先谢谢。
使用
1 2 3 4 5 | >>> from dateutil.parser import parse >>> parse('Mon, 29 Oct 2012 13:07:07 GMT') datetime.datetime(2012, 10, 29, 13, 7, 7, tzinfo=tzutc()) >>> parse('2012-10-29 12:57:08') datetime.datetime(2012, 10, 29, 12, 57, 8) |
如果知道要分析的每个日期字符串的确切格式,也可以使用
1 2 3 | >>> import datetime >>> datetime.datetime.strptime('Mon, 29 Oct 2012 13:07:07 GMT', '%a, %d %b %Y %H:%M:%S %Z') datetime.datetime(2012, 10, 29, 13, 7, 7) |
。
但是请注意,该方法忽略时区!
是的,
1 2 3 4 5 6 | >>> a = '2012-10-29 12:57:08' >>> time.strptime(a, '%Y-%m-%d %H:%M:%S') time.struct_time(tm_year=2012, tm_mon=10, tm_mday=29, tm_hour=12, tm_min=57, tm_sec=8, tm_wday=0, tm_yday=303, tm_isdst=-1) >>> b = 'Mon, 29 Oct 2012 13:07:07 GMT' >>> time.strptime(b, '%a, %d %b %Y %H:%M:%S %Z') time.struct_time(tm_year=2012, tm_mon=10, tm_mday=29, tm_hour=13, tm_min=7, tm_sec=7, tm_wday=0, tm_yday=303, tm_isdst=0) |
python中的
例如,您可以使用如下函数:
1 2 | somestring = '2004-03-13T03:00:00Z' result = datetime.datetime.strptime(somestring, '%Y-%m-%dT%H:%M:%SZ') |
号
文件在这里。