2017-03-18 18 views
-4

是否有将范围(0,365)的整数转换为日期(dtype ='datetime64 [D]')的aby方法?例如: 0 - > 1 jan 1 - > 2 jan 。 。 31 - > 1 feb 。 。 364-> 31 dec将整数转换为Python中的日期

P.S:我不需要一年。仅限非闰年的日期和月份。

+0

相对于目前一年? (那么'60'应该映射到2月29日还是3月1日?) – L3viathan

回答

0

如果你想映射是在一本字典,这是它会怎样看:

import datetime 
In [35]: days = {} 

In [36]: for i in range(0, 365): 
    ...:  days[i] = (datetime.datetime(2017, 1, 1) + datetime.timedelta(days=i)).strftime("%d %b") 
    ...:  

你会得到这样的:

In [37]: days 
Out[37]: 
{0: '01 Jan', 
1: '02 Jan', 
2: '03 Jan', 
3: '04 Jan', 

... 
0

正如你所提到的,你需要一个非闰年的结果集,从而创建一个非闰年的日期时间对象,如“2015年”

from datetime import datetime, timedelta 
for day_count in range(0, 365) : 
    curr_date_object = datetime.strptime('2015-01-01', '%Y-%m-%d') + timedelta(days=day_count) 
    print(curr_date_object.strftime("%d %b")) 

这将返回你想要的结果。

01 Jan 
02 Jan 
03 Jan 
04 Jan 
05 Jan 
...