Pythonのdatetime
モジュールを使用して、時間を切り捨てる方法について説明します。
秒以下の切り捨て
Pythonのdatetime
オブジェクトには、replace
メソッドがあります。このメソッドを使用して、秒以下の部分を切り捨てることができます。
import datetime
# マイクロ秒単位のdatetime型の値
dt = datetime.datetime(2020,8,15,16,0,0,1000)
print(dt) # 2020-08-15 16:00:00.001000
# 秒以下の部分を切り捨て
dt = dt.replace(microsecond=0)
print(dt) # 2020-08-15 16:00:00
このコードでは、replace
メソッドを使用してmicrosecond
を0
に設定し、秒以下の部分を切り捨てています。
分の切り捨て
分の切り捨ても同様に、replace
メソッドを使用します。
import datetime
from datetime import timedelta
def ten_minutes_rounder(t):
return (t.replace(second=0, microsecond=0, minute=0, hour=t.hour) + timedelta(minutes=round(t.minute, -1)))
dt = datetime.datetime.now()
rounded_time = ten_minutes_rounder(dt)
print(rounded_time)
このコードでは、replace
メソッドを使用してsecond
とmicrosecond
を0
に設定し、minute
を最も近い10分に丸めています。
以上がPythonのdatetime
モジュールを使用した時間の切り捨て方法です。これらの方法を活用することで、時間データの操作がより柔軟になります。