将整数转换为 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',
...
有没有办法将范围(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',
...