[Python]Global Default Seedを使用したRandom Datetime生成法

Pythonのrandomモジュールは、疑似乱数を生成するためのモジュールです。疑似乱数は、乱数のように見えますが、実際にはある法則に従って生成された数列です。

Global Default Seedとは何か?

Global Default Seedとは、randomモジュールで乱数を生成する際の初期値のことです。Pythonでは、プログラムを実行するたびに異なる乱数を生成するために、初期値を変更することができます。しかし、初期値を変更せずにプログラムを実行する場合には、Global Default Seedが使用されます。

PythonでのGlobal Default Seedの使用方法

PythonでGlobal Default Seedを使用するには、random.seed()関数を呼び出します。この関数に引数を渡さない場合には、現在の時刻を元に初期値が設定されます。

import random
# Global Default Seedを使用する場合
random.seed()
# 初期値を指定する場合
random.seed(1234)

Datetimeモジュールとは何か?

Datetimeモジュールは、日付や時刻を扱うためのモジュールです。Pythonでは、Datetimeモジュールを使用することで、日付や時刻の計算やフォーマットを簡単に行うことができます。

Random Datetime生成の方法

Random Datetimeを生成するには、Datetimeモジュールとrandomモジュールを組み合わせます。まず、ランダムな年、月、日、時、分、秒を生成し、それを元にDatetimeオブジェクトを作成します。

import random
import datetime
# 年、月、日、時、分、秒をランダムに生成
year = random.randint(1900, 2021)
month = random.randint(1, 12)
day = random.randint(1, 28)
hour = random.randint(0, 23)
minute = random.randint(0, 59)
second = random.randint(0, 59)
# Datetimeオブジェクトを作成
dt = datetime.datetime(year, month, day, hour, minute, second)
print(dt)

Global Default Seedを使用したRandom Datetime生成の例

Global Default Seedを使用して、ランダムなDatetimeを生成する例を示します。

import random
import datetime
# Global Default Seedを使用する
random.seed()
# 年、月、日、時、分、秒をランダムに生成
year = random.randint(1900, 2021)
month = random.randint(1, 12)
day = random.randint(1, 28)
hour = random.randint(0, 23)
minute = random.randint(0, 59)
second = random.randint(0, 59)
# Datetimeオブジェクトを作成
dt = datetime.datetime(year, month, day, hour, minute, second)
print(dt)

実行結果例:

2022-05-17 08:37:24

まとめ

PythonのrandomモジュールとDatetimeモジュールを組み合わせることで、ランダムなDatetimeを生成することができます。Global Default Seedを使用することで、初期値を変更せずにランダムなDatetimeを生成することができます。