2010-03-11 76 views

回答

51
datetime.datetime(year, 1, 1) + datetime.timedelta(days - 1) 
+2

这是怎么比SilentGhost的回答更简单? – GreenMatt 2012-09-27 16:43:03

+1

@GreenMatt:它不涉及将数字放入一个字符串,然后解析该字符串。 – 2012-09-27 16:46:50

+2

这真的是为了美浓。我想我应该在评论中加入“@Mino”,对不起。这种方法确实不需要将数字转换为字符串;然而,根据我的经验,你至少有可能以字符串开头。更重要的是,两次调用和一次操作比单次调用IMO更复杂。 (当然,通话次数将取决于所需的任何转换。) – GreenMatt 2012-09-27 20:18:00

20
>>> import datetime 
>>> datetime.datetime.strptime('2010 120', '%Y %j') 
datetime.datetime(2010, 4, 30, 0, 0) 
>>> _.strftime('%d/%m/%Y') 
'30/04/2010' 
7

date类的toordinal()fromordinal()功能可用于:

from datetime import date 
date.fromordinal(date(year, 1, 1).toordinal() + days - 1)