实现效果如下:如规定时间10:00:00~18:00:00 我想随机取里面的时间里面
import datetime
import random
def random_datetime(start_datetime, end_datetime):
delta = end_datetime - start_datetime
inc = random.randrange(delta.total_seconds())
return start_datetime + datetime.timedelta(seconds=inc)
if __name__=='__main__':
start_datetime = datetime.datetime(2016, 8, 17, 10, 0, 0)
end_datetime = datetime.datetime(2016, 8, 17, 18, 0, 0)
dt = random_datetime(start_datetime, end_datetime)
print(dt)
結果:
2016-08-17 11:59:04
我回答過的問題: Python-QA
楼上的是一种好思路,我再提供一个low一点的写法
from random import randint
h, m, s = randint(10, 18), 0, 0
if h != 18:
m = randint(0, 59)
s = randint(0, 59)
print '%d:%02d:%02d' % (h, m, s)
4 回答4.4k 阅读✓ 已解决
1 回答3.1k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.4k 阅读✓ 已解决
1 回答3.9k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
提供个思路,不写代码了。你把这个时间段转换成总共的秒数。
定一个用秒数表示的start_time和end_time;
random(start_time,end_time);
然后转换成时间呗。