如何将字符串转换为具有特定格式的日期变量

时间:2015-08-23 21:42:10

标签: python date

我在link发现了一个问题,几乎可以回答我的需要,但并不完全。我需要知道的是,如何使用此方法将格式u'Saturday, Feb 27 2016'的字符串转换为格式为27/02/2016的Python日期变量?

由于

2 个答案:

答案 0 :(得分:4)

您必须首先删除工作日名称(无论如何都没用)并解析其余部分:

datetime.datetime.strptime('Saturday, Feb 27 2016'.split(', ', 1)[1], '%b %d %Y').date()

或者,使用dateutil

dateutil.parser.parse('Saturday, Feb 27 2016').date()

修改

我的错误,你不需要删除工作日(我在选项列表中错过了它):

datetime.datetime.strptime('Saturday, Feb 27 2016', '%A, %b %d %Y').date()

答案 1 :(得分:1)

您不必删除任何内容,可以按原样解析它并使用strftime获取所需的格式:

from datetime import datetime

s = u'Saturday, Feb 27 2016'

dt = datetime.strptime(s,"%A, %b %d %Y")

print(dt)    
print(dt.strftime("%d/%m/%Y"))
2016-02-27 00:00:00
27/02/2016

%Locale的完整工作日名称。

%b Locale的缩写月份名称。

%d作为十进制数的月份日期[01,31]。

%Y年份,世纪为十进制数。

指令的完整列表为here