2014-02-28 71 views

回答

4

您可以使用datetime.strptime解析今年的日子:

>>> from datetime import datetime 
>>> tm_yday = 59 
>>> tm_year = datetime.now().year # current year 
>>> datetime.strptime('{} {}'.format(tm_year, tm_yday), '%Y %j') 
datetime.datetime(2014, 2, 28, 0, 0) 
+0

'datetime.strptime('{} {:0> 3}'.format(tm_year,tm_yday ),'%Y%j')' Python文檔說:%j \t一年中的一天爲零填充十進制數。 \t 001,002,...,366 –

+0

我在原始答案中填充了內容,但是快速測試表明它實際上不需要解析。 – poke

0

日期時間日期類型是去這裏的路:

import datetime 

今天這裏是:

>>> datetime.date.today() 
datetime.date(2014, 2, 27) 

下面是2014年1月1日:

>>> datetime.date(2014, 1, 1) 
datetime.date(2014, 1, 1) 

結合成一個日期時間對象:

datetime.datetime.combine(datetime.date(2014, 1, 1), 
          datetime.datetime.min.time()) 
1
import datetime 
>>> datetime.datetime.strptime('10', '%j') 
datetime.datetime(1900, 1, 10, 0, 0) 
>>> datetime.datetime.strptime('359', '%j') 
datetime.datetime(1900, 12, 25, 0, 0) 
>>> datetime.datetime.strptime('359', '%j').month 
12 
>>> datetime.datetime.strptime('359', '%j').day 
25 
1
import datetime 
foo=datetime.datetime(1990, 1, 1) + datetime.timedelta(tm_yday - 1) 
month = foo.month 
dayOfMonth = foo.day 

年1990年是一個例子,嘗試其他在閏年的情況。

相關問題