Freezing Time to Random Date with Freezegun

  • Share this:

Code introduction


This function uses the Freezegun library to freeze time to a random date and prints out the frozen time. The arg1 parameter is used to generate a random time range, and the arg2 parameter is used to adjust the random time.


Technology Stack : Freezegun, datetime

Code Type : Function

Code Difficulty :


                
                    
def random_freeze_date(arg1, arg2):
    from freezegun import freeze_time
    from datetime import datetime

    def get_random_date():
        start_date = datetime(2020, 1, 1)
        end_date = datetime(2023, 1, 1)
        delta = end_date - start_date
        random_seconds = delta.total_seconds() * arg1 + arg2
        return start_date + timedelta(seconds=random_seconds)

    with freeze_time(get_random_date()):
        print("Frozen time:", get_random_date())