扫码关注官方订阅号
实现效果如下:如规定时间10:00:00~18:00:00 我想随机取里面的时间里面
认证0级讲师
提供个思路,不写代码了。你把这个时间段转换成总共的秒数。定一个用秒数表示的start_time和end_time;random(start_time,end_time);然后转换成时间呗。
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)
from random import randint "{}:{}:{}".format(randint(10,17),randint(0,59),randint(0,59))
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
提供个思路,不写代码了。你把这个时间段转换成总共的秒数。
定一个用秒数表示的start_time和end_time;
random(start_time,end_time);
然后转换成时间呗。
結果:
我回答過的問題: Python-QA
楼上的是一种好思路,我再提供一个low一点的写法