python获取指定时间段内的随机不重复的时间点
2016-12-11 06:55
281 查看
上篇 《python时间时分秒与秒数的互相转换》http://www.cnblogs.com/gayhub/p/6154707.html 提到了把时间转成秒数的方法,
这篇写写转换成秒数后有些什么用处。
从代码中可以发现思路是把时间转成秒数后,那么就可以用range生07:30-09:30之间的时间秒数,再用random.sample从中取出个N个秒数,最后再把秒数转成所需要的时间格式。
基于字符串的判断可能会出现像上面的情况,我感觉统一转成数字后再计算更可靠。
UNIX时间,或称POSIX时间是UNIX或类UNIX系统使用的时间表示方式:从协调世界时1970年1月1日0时0分0秒起至现在的总秒数。
任意当天24小时内的时间转成秒数后都刚好等于UTC 1970年1月1日的时间戳。所以有需要的话可以使用编程语言内置的时间戳函数进行转换。
这篇写写转换成秒数后有些什么用处。
场景1:取N个07:30:00-09:30:33之间的随机时间。
下面是我的代码:#2016-12-10 7:06:29 codegay import random st = "07:30:00" et = "09:30:33" def time2seconds(t): h,m,s = t.strip().split(":") return int(h) * 3600 + int(m) * 60 + int(s) def seconds2time(sec): m,s = divmod(sec,60) h,m = divmod(m,60) return "%02d:%02d:%02d" % (h,m,s) sts = time2seconds(st) #sts==27000 ets = time2seconds(et) #ets==34233 rt = random.sample(range(sts,ets),10) #rt == [28931, 29977, 33207, 33082, 31174, 30200, 27458, 27434, 33367, 30450] rt.sort() #对时间从小到大排序 for r in rt: print(seconds2time(r)) """ 输出: 07:43:12 07:54:31 08:08:33 08:27:46 08:46:53 08:48:17 08:55:20 08:59:16 09:10:23 09:15:58 """
从代码中可以发现思路是把时间转成秒数后,那么就可以用range生07:30-09:30之间的时间秒数,再用random.sample从中取出个N个秒数,最后再把秒数转成所需要的时间格式。
场景2: 时间大小比较和时间范围的判断
>>> "09:30:00" > "9:30:00" False >>> "09:30:00" == "9:30:00" False
基于字符串的判断可能会出现像上面的情况,我感觉统一转成数字后再计算更可靠。
场景3:时间转成秒数后刚好等于1970年1月1日的时间戳
参考维基百科:https://zh.wikipedia.org/wiki/%E5%8D%8F%E8%B0%83%E4%B8%96%E7%95%8C%E6%97%B6UNIX时间,或称POSIX时间是UNIX或类UNIX系统使用的时间表示方式:从协调世界时1970年1月1日0时0分0秒起至现在的总秒数。
任意当天24小时内的时间转成秒数后都刚好等于UTC 1970年1月1日的时间戳。所以有需要的话可以使用编程语言内置的时间戳函数进行转换。
相关文章推荐
- 004_021 Python 以指定的概率获取元素 以一个列表为基准概率,从一个列表中随机获取元素
- python 指定范围内随机生成不重复的n个数
- 简单但比较高效的解决:随机获取N个数字,这些数字在指定的范围内,获取的数字不能重复
- python获取指定字符串中重复模式最高的字符串方法
- 关于插入指定随机时间段的问题解答
- js获取数组任意个不重复的随机数组元素 原创
- 【转】oracle 随机获取指定量的数据
- ruby+watir--随机而不重复获取Menu菜单的元素
- 获取指定范围内的不重复随机数
- js获取随机不重复数(高性能)
- python 获取指定像素颜色
- python_批量获取指定文件夹下的所有文件的厂商信息
- 随机从数组中取出指定的不重复的n个数
- python 获取一定范围内不重复的多个随机数列表
- 一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本
- 指定范围的随机整数的获取方法
- 从一个数组中随机获取一些并不重复的数据
- 算法题,获取随机不重复数组
- C# 获取随机数 或者随机数组 。net获取不重复的随机数或者随机数组
- 获取指定扩展名的文件 分类: python 小练习 2013-05-14 16:06 229人阅读 评论(0) 收藏