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メソッドを使用してmicrosecond0に設定し、秒以下の部分を切り捨てています。

分の切り捨て

分の切り捨ても同様に、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メソッドを使用してsecondmicrosecond0に設定し、minuteを最も近い10分に丸めています。

以上がPythonのdatetimeモジュールを使用した時間の切り捨て方法です。これらの方法を活用することで、時間データの操作がより柔軟になります。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です