Cet article présente le code d'implémentation de Python pour obtenir des points temporels aléatoires non répétitifs dans une période de temps spécifiée
Voici mon 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 """
À partir du code, nous pouvons constater que l'idée est de convertir le temps en secondes, puis nous pouvons utiliser la plage pour générer 07:30 -09:30 Le nombre de secondes entre les secondes, puis utilisez random.sample pour en extraire N secondes, et enfin convertissez les secondes au format d'heure requis.
>>> "09:30:00" > "9:30:00" False >>> "09:30:00" == "9:30:00" False
Le jugement basé sur la chaîne peut ressembler à la situation ci-dessus, je pense qu'il devrait être unifié en Il est plus fiable de calculer les chiffres plus tard.
L'heure UNIX, ou l'heure POSIX est UNIX ou de type UNIX. représentation temporelle utilisée par le système : le nombre total de secondes depuis 0:00:00 le 1er janvier 1970 UTC jusqu'à aujourd'hui.
Une fois convertie en secondes, l'heure dans les 24 heures suivant un jour est exactement égale à l'horodatage du 1er janvier 1970 UTC. Ainsi, si nécessaire, vous pouvez utiliser la fonction d'horodatage intégrée du langage de programmation pour la conversion.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!