def METHOD_NAME(conference, starttime, interval, randint, num):
    if isinstance(starttime, datetime.datetime):
        t = starttime
    else:
        t = parse_datetime(starttime)
    if not timezone.is_aware(t):
        t = timezone.make_aware(t, conference.tzobj)
    if isinstance(interval, datetime.time):
        ival = datetime.timedelta(hours=interval.hour, minutes=interval.minute, seconds=interval.second)
    else:
        ival = parse_duration(interval)
    if isinstance(randint, datetime.time):
        rsec = datetime.timedelta(hours=randint.hour, minutes=randint.minute, seconds=randint.second).total_seconds()
    else:
        rsec = parse_duration(randint).total_seconds()
    for i in range(num):
        yield t
        t += ival
        t += datetime.timedelta(seconds=rsec * random.random())
        if t.time() > conference.twitter_timewindow_end:
            # Past the end of the day, so move it to the start time the next day
            t = timezone.make_aware(
                datetime.datetime.combine(t + datetime.timedelta(days=1), conference.twitter_timewindow_start),
                conference.tzobj,
            )