重複の可能性:
Python質問:これまでの年と日は?
Pythonには、1年の特定の日がどの月にあるかを把握する方法がありますか。たとえば、今日は299日(10月26日)です。その日299は10か月目です(文字列をコンパイルしてLinuxシステム時刻を設定するため)。これどうやってするの?
重複の可能性:
Python質問:これまでの年と日は?
Pythonには、1年の特定の日がどの月にあるかを把握する方法がありますか。たとえば、今日は299日(10月26日)です。その日299は10か月目です(文字列をコンパイルしてLinuxシステム時刻を設定するため)。これどうやってするの?
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