Heim  >  Artikel  >  Backend-Entwicklung  >  Python-Implementierungscode zum Erhalten zufälliger, sich nicht wiederholender Zeitpunkte innerhalb eines bestimmten Zeitraums

Python-Implementierungscode zum Erhalten zufälliger, sich nicht wiederholender Zeitpunkte innerhalb eines bestimmten Zeitraums

高洛峰
高洛峰Original
2017-03-20 13:23:472282Durchsuche

In diesem Artikel wird der Implementierungscode von Python vorgestellt, um zufällige, sich nicht wiederholende Zeitpunkte innerhalb eines bestimmten Zeitraums zu erhalten

Szenario 1: Nehmen Sie N 07:30 : Zufällige Zeit zwischen 00 und 09:30:33 Uhr.

Das Folgende ist mein 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
"""

Aus dem Code können wir erkennen, dass die Idee darin besteht, die Zeit in Sekunden umzuwandeln, und dann können wir den Bereich verwenden, um 07:30 zu generieren -09:30 Die Anzahl der Sekunden zwischen den Sekunden. Verwenden Sie dann random.sample, um N Sekunden daraus zu extrahieren, und konvertieren Sie die Sekunden schließlich in das erforderliche Zeitformat.

Szenario 2: Vergleich der Zeitgröße und Beurteilung des Zeitbereichs

>>> "09:30:00" > "9:30:00"
False
>>> "09:30:00" == "9:30:00"
False

Die Beurteilung basierend auf der Zeichenfolge kann wie die obige Situation aussehen, ich bin der Meinung, dass sie vereinheitlicht werden kann Es ist zuverlässiger, die Zahlen später zu berechnen.

Szenario 3: Die in Sekunden umgerechnete Zeit entspricht genau dem Zeitstempel vom 1. Januar 1970

UNIX-Zeit oder POSIX-Zeit ist UNIX oder UNIX-ähnlich Vom System verwendete Zeitdarstellung: die Gesamtzahl der Sekunden von 0:00:00 am 1. Januar 1970 UTC bis heute.

In Sekunden umgerechnet entspricht die Zeit innerhalb von 24 Stunden eines Tages genau dem Zeitstempel vom 1. Januar 1970 UTC. Sie können also bei Bedarf die eingebaute Zeitstempel--Funktion der Programmiersprache zur Konvertierung nutzen.

Das obige ist der detaillierte Inhalt vonPython-Implementierungscode zum Erhalten zufälliger, sich nicht wiederholender Zeitpunkte innerhalb eines bestimmten Zeitraums. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn