質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

3696閲覧

python datetime 時間量が24時間を超えても、dayを使わず表記する方法をご教授ください。

Fujishima

総合スコア3

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/06/18 08:14

前提・実現したいこと

【前提】
時間量のデータが秒単位での表記になっているので、何時間何分何秒という表記に直したいです。
仮に、時間のデータが86401(秒)なら、24:00:01という表記にしたいです。

【やったこと・質問】
自分で調べ、datetime.timedelta(seconds=86401)としたところ、1 day, 0:00:01という表記になりました。
24時間を超えても、dayを使わない表記にする方法をご教授ください。

該当のソースコード

import datetime seconds = 86401 hour = datetime.timedelta(seconds=seconds) print(hour)

補足情報(FW/ツールのバージョンなど)

自分なりに検索しましたが、時間量ではなく時刻に関するもの(25時表記など)しか見つけられなかったため質問させていただきます。
プログラミングやこのサイトの利用になれていないため、情報の不足やバッドマナーがありましたら申し訳ございません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

時間のデータが86401(秒)なら、24:00:01という表記にしたいです。

...

24時間を超えても、dayを使わない表記にする方法をご教授ください。

datetime.timedelta を使うのであれば dayssecondsの値を取得できるので、それらを利用して自力で"HH:MM:SS"な書式に変換するのも手です。以下はそんな方法で時間の文字列を出力する例です。

Python3

1import datetime 2 3def my_hhmmss(td): 4 minutes = int(td.seconds / 60) 5 hh = td.days * 24 + int(minutes / 60) 6 mm = minutes % 60 7 ss = td.seconds % 60 8 r = '{0:02d}:{1:02d}:{2:02d}'.format(hh, mm, ss) 9 return r 10 11 12print('--- 1日と1秒') 13seconds = 86400 + 1 14print(my_hhmmss(datetime.timedelta(seconds=seconds))) 15 16print('--- 2日と3時間24分56秒') 17seconds = 86400 * 2 + 3600 * 3 + 60 * 24 + 56 18print(my_hhmmss(datetime.timedelta(seconds=seconds)))

上記コードの実行例です。

terminal

1$ python3 t1.py 2--- 1日と1秒 324:00:01 4--- 2日と3時間24分56秒 551:24:56 6$

投稿2021/06/18 18:40

dodox86

総合スコア9183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Fujishima

2021/06/19 00:46

ありがとうございます! 無事作りたいものが作れました。
guest

0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問