How to create a list of random dates in Python

1 Answer

0 votes
import random
from datetime import datetime, timedelta

# Generate a random date between two years using datetime
def random_date(start_year, end_year):
    # Convert start and end years to timestamps
    start = datetime(start_year, 1, 1)
    end   = datetime(end_year, 12, 31)

    # Uniform distribution over the timestamp range
    range_days = (end - start).days
    offset = random.randint(0, range_days)

    # Convert back to datetime
    return start + timedelta(days=offset)

dates = []

for i in range(10):
    dates.append(random_date(1990, 2030))

for d in dates:
    print(f"{d.year}-{d.month}-{d.day}")



'''
run:

2008-7-6
1996-3-4
1997-9-19
2028-7-7
2025-7-26
2016-7-29
2014-12-28
1991-6-15
2008-5-20
2012-9-8

'''

 



answered 1 day ago by avibootz
...