【发布时间】:2012-10-27 01:12:17
【问题描述】:
在 Python 中是否有一种方法可以确定一年中的某一天在哪个月份,例如今天是第 299 天(10 月 26 日)。我想弄清楚,那一天 299 是在第 10 个月(编译字符串以设置 Linux 系统时间)。 我该怎么做?
【问题讨论】:
-
另外,10 月 26 日是今年的第 300 天,而不是第 299 天。闰年,你知道的。
标签: python
在 Python 中是否有一种方法可以确定一年中的某一天在哪个月份,例如今天是第 299 天(10 月 26 日)。我想弄清楚,那一天 299 是在第 10 个月(编译字符串以设置 Linux 系统时间)。 我该怎么做?
【问题讨论】:
标签: python
print (datetime.datetime(2012,1,1) + datetime.timedelta(days=299)).month
这里有一个更实用的版本,可以同时返回月份和日期:
def get_month_day(year, day, one_based=False):
if one_based: # if Jan 1st is 1 instead of 0
day -= 1
dt = datetime.datetime(year, 1, 1) + datetime.timedelta(days=day)
return dt.month, dt.day
>>> get_month_day(2012, 299)
(10, 26)
【讨论】:
我不知道这样的方法,但你可以这样做:
print datetime.datetime.strptime('2012 299', '%Y %j').month
上面打印10
【讨论】: