見出し画像

timedeltaの計算がややこしい。pythonのつまづき。

時間はそのまま足し算・引き算できない。
intみたいにやったら対応してくれ思うがそうはいかない。
まあいいや、がんばって覚える。

#標準入力で受け取った値を、datetime型に変換する。
#6 0 みたいな値が来たとして、それを、06時00分に変換。
n = input()
t = datetime.datetime.strptime(n, '%H:%M') #strptimeで文字列をdatetime型に


"timedelta"って言わないと、時間の計算できない!

#tの値(06時00分)に、30分足したり、1時間引いたりする方法。
#結果を、新しい変数に代入する。
t_add = t + datetime.timedelta(minutes = 30) #これで30分足す
t_sab = t - datetime.timedelta(hours = 1) #これで1時間引く
#その他、timedelt(###)の###部分をいろいろ変えて、計算する。


あとは出力時のアウトプット制御

#H:M 13:13のように示す。
print(t_add.strftime("%H:%M"))

#H:M 4:8のように示す。04:08などのように、0埋めにならないように制御する。
print(t_add.strftime("%-H:%-M"))


この記事が気に入ったらサポートをしてみませんか?