擅长:python、mysql、java
<p>使用<code>datetime.timedelta</code>计算时差。此代码假定所有三个进程在同一天运行</p>
<pre><code>from datetime import datetime, timedelta
from random import randint
YR, MO, DY = 2016, 3, 30
START_TIME = datetime( YR, MO, DY, 1, 21, 00 ) # "01:21"
END_TIME = datetime( YR, MO, DY, 3, 0, 0 ) # "3:00"
duration_all = (END_TIME - START_TIME).seconds
d1 = ( duration_all - 600 ) // 3
#
rnd1 = randint(0,d1)
rnd2 = rnd1 + 300 + randint(0,d1)
rnd3 = rnd2 + 300 + randint(0,d1)
#
time1 = START_TIME + timedelta(seconds=rnd1)
time2 = START_TIME + timedelta(seconds=rnd2)
time3 = START_TIME + timedelta(seconds=rnd3)
#
print (time1)
print (time2)
print (time3)
</code></pre>
<p><code>rnd1</code>、<code>rnd2</code>和{<cd4>}的值至少相隔5分钟(300秒)。在</p>
<p><code>rnd3</code>的值不能大于总时间间隔(<code>3 * d1 + 600</code>)。所以这三次都发生在间隔时间内。在</p>
<p>注意:您没有指定每个脚本运行的时间。这就是为什么我没有使用<code>time.sleep</code>。一个可能的选项是<code>threading.Timer</code>(请参阅python文档)。在</p>