在python中将整数转换为日期

时间:2017-03-18 11:17:13

标签: python python-3.x python-datetime

是否存在将范围(0,365)的整数转换为日期(dtype =' datetime64 [D]')的方法? 例如: 0 - > 1月1日 1 - > 2月1日 。 。 31 - > 1个月 。 。 364-> 31月13日

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

2 个答案:

答案 0 :(得分: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
...

答案 1 :(得分: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',

 ...