在python中将字符串转换为日期对象

时间:2016-03-25 08:17:42

标签: python python-2.7 datetime

我想将下面提到的字符串转换为日期对象:

string_time = "06:13:19 25 March 2016 GMT  (Europe/Ireland)"

date_object = datetime.strptime(string_time, "%H:%M:%S %d %B %Y %Z")

我唯一无法转换的是(欧洲/爱尔兰)

任何提示都会受到高度赞赏。

由于

1 个答案:

答案 0 :(得分:0)

使用dateutil.parser.parse

>>> import dateutil.parser
>>> string_time = "06:13:19 25 March 2016 GMT  (Europe/Ireland)"
>>> dateutil.parser.parse(string_time.split('(')[0])
datetime.datetime(2016, 3, 25, 6, 13, 19, tzinfo=tzutc())

<强>更新

添加一小时的时间并以原始格式显示:使用datetime.datetime.strftime并添加时区部分。

>>> import datetime                                                                
>>> import dateutil.parser
>>> string_time = "06:13:19 25 March 2016 GMT  (Europe/Ireland)"
>>> tz_part = string_time.split(None, 4)[-1]
>>> d = dateutil.parser.parse(string_time.rsplit(None, 1)[0])
>>> d2 = d + datetime.timedelta(hours=1)
>>> d2.strftime('%H:%M:%S %d %B %Y ') + tz_part
'07:13:19 25 March 2016 GMT  (Europe/Ireland)'