2016-04-28 93 views
-1

我的日期形式为26/11/2015。我怎样才能将它们转换成26-Nov-2015的格式,并仍然将它们保留为日期而不是字符串?在Python中转换日期

+3

你的问题没有多大意义。如果你把它们作为日期,它们没有格式。格式只有在将它们转换为字符串时才会显现出来。 –

+0

@tobias_k,请您将其作为答案。 – Amani

回答

3

你的问题没有多大意义。如果你把它们作为日期,它们没有格式。格式只有在将它们转换为字符串时才会显现出来。

所以答案是:存放日期为date(或datetime)对象,并使用datetime.strftime与一些特定的格式,只要你需要他们作为一个字符串:

>>> from datetime import date 
>>> d = date(2016, 11, 26) 
>>> d.strftime("%Y/%m/%d") 
'2016/11/26' 
>>> d.strftime("%d-%b-%Y") 
'26-Nov-2016' 

相反,使用strptime解析字符串不同的日期格式:

>>> datetime.datetime.strptime("26-Nov-2015", "%d-%b-%Y") 
datetime.datetime(2015, 11, 26, 0, 0) 
0
from datetime import datetime 

date = datetime.strptime('26/11/2015', '%d/%m/%Y') 
print date.strftime("%d-%B-%Y") 

在上面的例子中,我们把你的输入字符串“DD /月/年”,使之成为一个Python日期时间将其保存到一个变量被称为日期(以供将来使用,按您的请求),并然后按照要求的格式打印出来。

0

你想使用我认为的日期时间模块。例如:

from datetime import date 
a = date(2015, 11, 26) 
a.strftime("%A %d of %B, %Y") 

应该给你 '十一月月26日,2015年' 或者针对特定格式要求:

a.strftime("%d-%b-%Y") #'26-Nov-2015' 

希望这会有所帮助,祝你好运!