私は平均時間の計算を行い、結果マイクロ秒なしの平均を表示したいと思います。Python timedeltaはマイクロ秒を削除します
avg = sum(datetimes, datetime.timedelta(0))/len(datetimes)
おかげ
私は平均時間の計算を行い、結果マイクロ秒なしの平均を表示したいと思います。Python timedeltaはマイクロ秒を削除します
avg = sum(datetimes, datetime.timedelta(0))/len(datetimes)
おかげ
はマイクロ秒と読み取り専用の属性として、timedetlaを取り、独自のマイクロ秒を削除します。それは、定期的な必要性である場合
avg = sum(datetimes, datetime.timedelta(0))/len(datetimes)
avg = avg - datetime.timedelta(microseconds=avg.microseconds)
あなたはあなた自身の小さな機能を行うことができます。
import datetime
def chop_microseconds(delta):
return delta - datetime.timedelta(microseconds=delta.microseconds)
解決策が見つかりませんでした。
私が知る限り、それは「マイクロ秒」でなければなりません。 – daviewales
「マイクロ秒」にする必要があります。 Proof [here](http://pastebin.com/P4qH1G51) –
timedeltaオブジェクトでは 'microseconds'ですが、timeオブジェクトとdatetimeオブジェクトでは' microsecond'です。 –
それは表示のためだけであれば、このアイデアは動作します:
avgString = str(avg).split(".")[0]
アイデアがポイントの前にあるものだけを取ることです。 それは、01のため1時23分45秒を返します:23:あなたが行うことができますtimedetlaを与え45.1235
別のオプション、:
avg = datetime.timedelta(seconds=math.ceil(avg.total_seconds()))
あなたはmath.round()
またはmath.floor()
で、math.ceil()
を置き換えることができ、状況に応じて
あなたがそうのような日付時刻の要素を変更することができます。
In [1]: datetime.datetime.now().replace(hour=0, minute=0, second=0, microsecond=0)
Out[1]: datetime.datetime(2017, 4, 28, 0, 0)
「日付時刻」とは何です... timedeltasのリスト?もしそうなら、合計はマイクロ秒を含むtimedeltaオブジェクトを返します...だから何が問題なのですか? – tdelaney
'avg.strftime("%Y-%m-%d%H:%M:%S ")'を返しますが、文字列を返します。 –