2016-05-04 9 views
0

私は、レコードの年齢を決定する小さなpythonスクリプトを書いています。私はnow()から記録日を差し引いてこれを行います。このレコードは、日付時刻として2016-02-23 09:01:22を返します。pythonのtimedelta出力から時間を取り除く

now = datetime.datetime.now() 
age = now - recordDate 
print age 

71 days, 23:56:07.156000

はわずか数日出力にそれを得るために、より「神託」道(なし時間など)があるとして、これは

print str(age).split(',',1)[0] 
の私のハックのソリューションよりも、結果を印刷します

これは結果を71 daysとして出力しますか?

+0

無関係:現地時間は、非直鎖状であってもよいです。正確な違いを見つけたい場合は 'datetime.now()'を使わないでください。 [datetimes - Pythonの間に24時間が経過したら検索してください](http://stackoverflow.com/q/26313520/4279)を参照してください。あなたのケースで何時間も気にしないならば。代わりに 'date.today()'を使用してください。 – jfs

+0

ありがとう@ J.F.Sebastian – Midavalo

答えて

3

71 days, 23:56:07.156000は、の文字列表記です。

だけ日間取得するには、単に、よく、.daysを得る:

>>> from datetime import datetime 
>>> 
>>> recordDate = datetime(year=2010, month=10, day=10) 
>>> now = datetime.now() 
>>> age = now - recordDate 
>>> age # age is the timedelta object 
datetime.timedelta(2033, 61630, 853029) 
>>> "%d days" % age.days 
'2033 days' 
+0

それはまさに私が欲しいものです、ありがとう。私はそれが私にできるときに答えてマークします – Midavalo

関連する問題