月/日/年のような文字列で始まり'3/6/2011'
、現在の日が2011年3月13日(7日後)であるとすると、それから経過した年数(7 / 365 = 0.0191780821917808
)Pythonで?
任意の入力日付を処理できるようにしたいことに注意してください。ただし、フォーマットはありませんが、上記のフォーマットを想定できます。
月/日/年のような文字列で始まり'3/6/2011'
、現在の日が2011年3月13日(7日後)であるとすると、それから経過した年数(7 / 365 = 0.0191780821917808
)Pythonで?
任意の入力日付を処理できるようにしたいことに注意してください。ただし、フォーマットはありませんが、上記のフォーマットを想定できます。
timedelta
2を引くことでを得ることができますdatetime
。これにより、時差を操作するための多くのクールな方法が得られます。
>>> import datetime
>>> before = datetime.datetime.strptime('3/6/2011','%m/%d/%Y')
>>> now = datetime.datetime.now()
>>> type(now-before)
<type 'datetime.timedelta'>
>>> (now-before).days
7
>>> float((now-before).days)/365
0.019178082191780823
編集:うわー、この単純な質問には非常に深いところがあると誰が思ったでしょう。この質問に最も多くの票を投じた回答を見てください。うるう年に対処することは「難しい」問題です。(@kriegarへのクレジット)
>>> import datetime
>>> datestring = "3/6/2011"
>>> (datetime.date.today() - datetime.datetime.strptime(datestring, "%m/%d/%Y").date()).days / 365.0
0.019178082191780823
上記のすべての回答はうるう年を考慮していません。そして、この質問にはあなたの質問に関連する議論があるようです。