[解決済み] タイムデルタの理解
2023-03-23 13:22:19
質問
以下の Python コードが与えられたとき、そこで何が起こっているかを理解するのを助けてください。
start_time = time.time()
time.sleep(42)
end_time = time.time()
uptime = end_time - start_time
human_uptime = str(datetime.timedelta(seconds=int(uptime)))
ということで、差分として
start time
と
end time
で、5行目でキャスティングでデュレーションを切り上げて、今度は何を説明するんだ?
デルタの意味(平均や差)はわかりますが、どうして
seconds = uptime
を
timedelta
という文字列のキャスティングがうまくいって、なぜか
HH:MM:SS
?
どのように解決するのですか?
timedeltaは以下のように定義されています。
class datetime.timedelta([days,] [seconds,] [microseconds,] [milliseconds,] [minutes,] [hours,] [weeks])
すべての引数はオプションで、デフォルトは0です。
このようにオプションの引数で簡単に "Three days and four milliseconds" と言うことができます。
>>> datetime.timedelta(days=3, milliseconds=4)
datetime.timedelta(3, 0, 4000)
>>> datetime.timedelta(3, 0, 0, 4) #no need for that.
datetime.timedelta(3, 0, 4000)
また、strキャストの場合は
__repr__
の代わりに、読みやすさを向上させるためにきれいなフォーマットされた値を返します。docsから。
str(t) [D day[s], ][H]H:MM:SS[.UUUUU] という形式の文字列を返します。 ここで、Dは負のtの場合は負になります。
>>> datetime.timedelta(seconds = 42).__repr__()
'datetime.timedelta(0, 42)'
>>> datetime.timedelta(seconds = 42).__str__()
'0:00:42'
ドキュメントをチェックアウトします。
http://docs.python.org/library/datetime.html#timedelta-objects
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] PythonでファイルのMD5チェックサムを計算するには?重複
-
[解決済み] Flaskで1時間ごとに関数を実行するようにスケジュールするには?
-
[解決済み] Python 3でバイナリデータを標準出力に書き込むには?
-
[解決済み] 文字列から先頭と末尾のスペースを削除するには?
-
[解決済み] 値で列挙名を取得する [重複]。
-
[解決済み] python-requests モジュールからのすべてのリクエストをログに記録します。
-
[解決済み] Jupyter (IPython)ノートブックのセッションをpickleして保存する方法
-
[解決済み] Cythonのコードを含むPythonパッケージはどのように構成すればよいのでしょうか?
-
[解決済み] djangoフレームワークでフォームフィールドから値を取得するには?
-
[解決済み] pycharmがタブをスペースに自動変換する