Python添加一小时到time.time()

时间:2016-07-08 22:16:56

标签: python python-2.7

您好我想在Python time.time()中添加一个小时。

我目前的做法是:

t = int(time.time())
expiration_time = t + 3600

这是否因任何原因而被视为不良? 如果是这样的话,可以更容易地做到这一点。

2 个答案:

答案 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,datetimearrow等人的课程会在表示时间时考虑到一些特殊情况。这包括时区,夏令时,闰秒等。请注意,“正确”时间是一个定义问题,各种库可以解释一些影响但不影响其他影响。您应该检查他们的文档,还要考虑您的用例需要哪种级别的正确性。