将整数转换为 python 中的日期

Convert integer to dates in python

有没有办法将范围(0,365)的整数转换为日期(dtype='datetime64[D]')? 例如: 0 -> 1 月 1 -> 1 月 2 日 . . 31 -> 2 月 1 日 . . 364-> 12 月 31 日

P.S: 我不需要年份。只有非闰年的日期和月份。

正如您提到的,您需要非闰年的结果集,因此创建 datetime 具有非闰年的对象,例如“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"))

这将 return 您想要的结果。

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

如果您希望将映射放在字典中,它应该是这样的:

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',

 ...