>  기사  >  백엔드 개발  >  지정된 기간 내에 반복되지 않는 임의의 시점을 얻는 Python 구현 코드

지정된 기간 내에 반복되지 않는 임의의 시점을 얻는 Python 구현 코드

高洛峰
高洛峰원래의
2017-03-20 13:23:472268검색
다음은 내 코드입니다.
#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
"""
코드에서 시간을 초로 변환하는 아이디어를 찾을 수 있으며, 그런 다음 범위를 사용하여 07:30 사이의 시간을 생성할 수 있습니다. -09:30 초의 시간, 그런 다음 random.sample을 사용하여 N초를 추출하고 마지막으로 초를 필요한 시간 형식으로 변환합니다.
시나리오 2: 시간 크기 비교 및 ​​시간 범위 판단

rree

문자열

을 기준으로 한 판단은 위의 상황과 같이 나타날 수 있습니다. 계산이 더 안정적입니다.

시나리오 3: 초로 변환된 시간이 1970년 1월 1일의

타임스탬프와 정확히 동일합니다.

UNIX 시간이거나 POSIX 시간이 UNIX 또는 UNIX와 유사합니다. 시스템에서 사용하는 시간 표현: 1970년 1월 1일 0:00:00(UTC)부터 현재까지의 총 시간(초)입니다.

초로 환산하면 하루 중 24시간 이내의 시간은 1970년 1월 1일 UTC의 타임스탬프와 정확히 같습니다. 따라서 필요한 경우

프로그래밍 언어에 내장된 타임스탬프 함수

를 사용하여 변환할 수 있습니다.

위 내용은 지정된 기간 내에 반복되지 않는 임의의 시점을 얻는 Python 구현 코드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.