在给定范围内生成随机时间戳?

时间:2017-02-23 12:56:24

标签: python random time

我正在尝试做类似的事情:

start=input("select starting date, format example : Jan 01 00:00:00")
end=input("select ending date")

if start>end:
     start,end=end,start

print(randomize_time(start,end))

输出:

>>> Aug 05 13:15:59

我尝试过使用random.randint,但如果我选择的范围如下: 00:00:00&& 01:00:00,随机化的唯一部分是小时,分钟和秒将被忽略(因为我正在做random.randint(0,0))。

我该如何正确地做到这一点?

提前致谢SO!

1 个答案:

答案 0 :(得分:4)

您可以使用以下内容:

from random import randrange
import time

start_timestamp = time.mktime(time.strptime('Jun 1 2010  01:33:00', '%b %d %Y %I:%M:%S'))
end_timestamp = time.mktime(time.strptime('Jun 1 2017  12:33:00', '%b %d %Y %I:%M:%S'))

def randomize_time(start_timestamp,end_timestamp):
    return time.strftime('%b %d %Y %I:%M:%S', time.localtime(randrange(start_timestamp,end_timestamp)))