どうも、ちょげ(@chogetarou)です。
datetimeの秒を引き算する方法を紹介します。
方法

datetimeの秒を引き算する方法は、2つあります。
datetime.timedelta()
1つは、datetime.timedelta()を使う方法です。
まず、datetimeとtimedelta()をインポートします。
from datetime import datetime, timedelta
次に、対象のdatetimeをdatetime.delta()で引き算します。
そして、datetime.delta()の引数「seconds」に引く秒数を指定します。
new_day = current_day - timedelta(seconds=N) #Nは引く秒数
上記の引き算は、対象のdatetimeを引き算したdatetimeを返します。
使用例
from datetime import datetime, timedelta
current_day = datetime.now()
new_day = current_day - timedelta(seconds=10)
print(current_day) #2022-06-29 17:12:27.211112
print(new_day) #2022-06-29 17:12:17.211112
dateutile.relativedelta()
もう1つは、dateutile.relativedelta()を使う方法です。
まず、dateutilのrelativedeltaをインポートします。
from dateutil.relativedelta import relativedelta
次に、対象のdatetimeをrelativedelta()で引き算します。
そして、relativedelta()の引数「seconds」に引く秒数を指定します。
new_day = day - relativedelta(seconds=N) #Nは引く秒数
上記の引き算は、datetimeの秒を引き算したdatetimeを返します。
使用例
from datetime import datetime
from dateutil.relativedelta import relativedelta
current_day = datetime.now()
new_day = current_day - relativedelta(seconds=10)
print(current_day) #2022-06-29 17:12:27.211112
print(new_day) #2022-06-29 17:12:17.211112
まとめ
datetimeの秒数を引き算する方法は、次の2つです。
- datetime.timedelta()を使う方法
new_day = current_day - timedelta(seconds=N)
- dateutil.relativedelta()を使う方法
dateutile.relativedelta()
コメント