📅  最后修改于: 2023-12-03 15:42:24.650000             🧑  作者: Mango
在Python中,我们可以使用random
库中的函数来生成随机日期。下面介绍两种常见的方法。
date
类from datetime import date, timedelta
import random
start_date = date(2000, 1, 1)
end_date = date(2022, 12, 31)
time_between_dates = end_date - start_date
days_between_dates = time_between_dates.days
random_number_of_days = random.randrange(days_between_dates)
random_date = start_date + timedelta(days=random_number_of_days)
print(random_date)
解释如下:
date(2000, 1, 1)
和date(2022, 12, 31)
分别表示开始日期和结束日期。end_date - start_date
计算出时间差。time_between_dates.days
获取时间差的天数。random.randrange(days_between_dates)
生成一个在时间差范围内的随机数。start_date + timedelta(days=random_number_of_days)
计算出对应的随机日期。datetime
类from datetime import datetime, timedelta
import random
start_date = datetime(2000, 1, 1)
end_date = datetime(2022, 12, 31)
time_between_dates = end_date - start_date
days_between_dates = time_between_dates.days
random_number_of_days = random.randrange(days_between_dates)
random_date = start_date + timedelta(days=random_number_of_days)
print(random_date.strftime("%Y-%m-%d"))
解释如下:
datetime(2000, 1, 1)
和datetime(2022, 12, 31)
分别表示开始日期和结束日期。end_date - start_date
计算出时间差。time_between_dates.days
获取时间差的天数。random.randrange(days_between_dates)
生成一个在时间差范围内的随机数。start_date + timedelta(days=random_number_of_days)
计算出对应的随机日期。random_date.strftime("%Y-%m-%d")
将日期格式化成字符串。以上两种方法都可以生成开始日期至结束日期内的随机日期。如果有其他需求,可以根据实际情况进行修改。