您好我想在Python time.time()中添加一个小时。
我目前的做法是:
t = int(time.time())
expiration_time = t + 3600
这是否因任何原因而被视为不良? 如果是这样的话,可以更容易地做到这一点。
答案 0 :(得分:5)
出于任何原因,这并不算坏。我这样做很多次。这是一个例子:
import time
t0 = time.time()
print time.strftime("%I %M %p",time.localtime(t0))
03 31 PM
t1 = t0 + 60*60
print time.strftime("%I %M %p",time.localtime(t1))
04 31 PM
以下是使用' datetime'
执行此操作的其他方法import datetime
t1 = datetime.datetime.now() + datetime.timedelta(hours=1)
t2 = datetime.datetime.now() + datetime.timedelta(minutes=60)
答案 1 :(得分:-1)
这取决于您是在处理经过的时间还是时间。
如果你想增加一小时的经过时间,如60 * 60秒,t + 3600
就可以了。为了便于阅读,t + 60*60
可能更可取。它对预编译常量的解释器没有任何影响。
import time, random
def every(interval: float):
"""Iterator that awakes every ``interval`` seconds, regardless of other delays"""
target_time = time.time() + interval # apply numerical interval to time.time()
while True:
time.sleep(target_time - time.time())
target_time += interval # keep on incrementing by a fixed duration
yield target_time
for now in every(interval=60*60):
print('on this tick, it is', now)
time.sleep(random.random()) # pretend we are doing something
如果您希望在时钟上添加一小时,例如08:11至09:11,datetime
,arrow
等人的课程会在表示时间时考虑到一些特殊情况。这包括时区,夏令时,闰秒等。请注意,“正确”时间是一个定义问题,各种库可以解释一些影响但不影响其他影响。您应该检查他们的文档,还要考虑您的用例需要哪种级别的正确性。