Python implementation code to obtain random non-repeating time points within a specified time period

高洛峰
Release: 2017-03-20 13:23:47
Original
2231 people have browsed it

This article introduces the implementation code of python to obtain random non-repeating time points within a specified time period

Scenario 1: Take N 07:30: Random time between 00-09:30:33.

The following is my code:

#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 = pmod(sec,60)
    h,m = pmod(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
"""
Copy after login

You can find from the code that the idea is to convert the time into seconds, then you can use range to generate the time between 07:30-09:30 Seconds of time, then use random.sample to extract N seconds from it, and finally convert the seconds into the required time format.

Scenario 2: Time size comparison and time range judgment

>>> "09:30:00" > "9:30:00"
False
>>> "09:30:00" == "9:30:00"
False
Copy after login

Judgment based on string may appear like the above situation. I feel that after unified conversion into numbers The calculation is more reliable.

Scenario 3: The time converted into seconds is exactly equal to the timestamp of January 1, 1970

UNIX time, or POSIX time is UNIX or UNIX-like The time representation used by the system: the total number of seconds from 0:00:00 on January 1, 1970 UTC to the present.

The time converted into seconds within any 24 hours of the day is exactly equal to the timestamp of January 1, 1970 UTC. So if necessary, you can use the Programming languagebuilt-in timestampfunction for conversion.

The above is the detailed content of Python implementation code to obtain random non-repeating time points within a specified time period. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!