[過去ログ]
Pythonのお勉強 Part74 (1002レス)
Pythonのお勉強 Part74 http://mevius.5ch.net/test/read.cgi/tech/1726881242/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
720: デフォルトの名無しさん (ワッチョイ 15b2-xt5A) [] 2025/02/22(土) 12:10:03.03 ID:kWiPacnr0 >>716 ありがとうございます このようにしてみましたがもっとスマートな方法ってありますか? from datetime import datetime t_start: str = "23:00" t_end: str = "24:00" if t_end[0:2] == "24": t_end = f"00:{t_end[3:5]}" t_start_dt: datetime.datetime = datetime.strptime(t_start, "%H:%M") t_end_dt: datetime.datetime = datetime.strptime(t_end, "%H:%M") unix_t_start: float = t_start_dt.timestamp() unix_t_end: float = t_end_dt.timestamp() if t_end[0:2] == "00": unix_t_end += 86400 # 24時間足す x = int(unix_t_end - unix_t_start) print(x) http://mevius.5ch.net/test/read.cgi/tech/1726881242/720
722: デフォルトの名無しさん (ワッチョイ 15b2-xt5A) [] 2025/02/22(土) 12:35:47.16 ID:kWiPacnr0 >>721 ありがとうございます 調べてみます http://mevius.5ch.net/test/read.cgi/tech/1726881242/722
723: デフォルトの名無しさん (ワッチョイ 15b2-xt5A) [] 2025/02/22(土) 12:42:40.44 ID:kWiPacnr0 やりたいことはt_startとt_endの中に入ってる文字列の時刻の差分を求めたいです http://mevius.5ch.net/test/read.cgi/tech/1726881242/723
726: デフォルトの名無しさん (ワッチョイ 15b2-xt5A) [] 2025/02/22(土) 13:11:12.71 ID:kWiPacnr0 途中経過ですけど今こんな状態です t_start: str = "23:00" t_end: str = "24:00" dt_now = datetime.now() t_start_dt = datetime(year=dt_now.year, month=dt_now.month, day=dt_now.day, hour=int(t_start[0:2]), minute=int(t_start[3:5])) if t_end[0:2] == "24": dt_d = dt_now.day + 1 # もし現在が月の最終日だとエラーになる "ValueError: day is out of range for month" t_end_dt = datetime(year=dt_now.year, month=dt_now.month, day=dt_d, hour=0, minute=int(t_end[3:5])) else: t_end_dt = datetime(year=dt_now.year, month=dt_now.month, day=dt_now.day, hour=int(t_end[0:2]), minute=int(t_end[3:5])) x = t_end_dt - t_start_dt print(t_start_dt) print(t_end_dt) print(x) http://mevius.5ch.net/test/read.cgi/tech/1726881242/726
727: デフォルトの名無しさん (ワッチョイ 15b2-xt5A) [] 2025/02/22(土) 13:58:51.98 ID:kWiPacnr0 何度もすみません とりあえずこうなりました なんだが余計に長くなった気がします from datetime import datetime def strToDt(str_dt: str): dt_now = datetime.now() # TODO 25や26の場合があるかもしれないので24決め打ちはやめる if str_dt[0:2] == "24": next_dt = dt_now + timedelta(days=1) dt_dt = datetime(year=next_dt.year, month=next_dt.month, day=next_dt.day, hour=0, minute=int(str_dt[3:5])) else: dt_dt = datetime(year=dt_now.year, month=dt_now.month, day=dt_now.day, hour=int(str_dt[0:2]), minute=int(str_dt[3:5])) return dt_dt t_start: str = "23:00" t_end: str = "24:00" t_start_dt = strToDt(t_start) t_end_dt = strToDt(t_end) x = t_end_dt - t_start_dt print(t_start_dt) print(t_end_dt) print(x) # 時間:分:秒 形式 # TODO xを分形式に変換する http://mevius.5ch.net/test/read.cgi/tech/1726881242/727
729: デフォルトの名無しさん (ワッチョイ 15b2-xt5A) [] 2025/02/22(土) 14:16:15.84 ID:kWiPacnr0 >>728 Endが24までなのか25や26もあるのか、それとも24の次は1なのか確実じゃないのでその辺考えて修正してみます やっぱりタイムスタンプに変換した方が短くなりますか? あと、727のインポートでtimedeltaが抜けてました http://mevius.5ch.net/test/read.cgi/tech/1726881242/729
731: デフォルトの名無しさん (ワッチョイ 15b2-xt5A) [] 2025/02/22(土) 15:29:44.08 ID:kWiPacnr0 何度もすみません こうなりました 今のところt_startよりもt_endが小さいとエラーになります https://techiedelight.com/compiler/?119b http://mevius.5ch.net/test/read.cgi/tech/1726881242/731
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.028s