由于某种原因,日期时间对象伤害了我的头脑。我正在写作如何将日期时间对象移动12小时。我还需要知道如何判断两个日期时间对象是否相差1分钟或更长时间。
答案 0 :(得分:16)
datetime
库有一个timedelta
对象专门用于此类事情:
import datetime
mydatetime = datetime.now() # or whatever value you want
twelvelater = mydatetime + datetime.timedelta(hours=12)
twelveearlier = mydatetime - datetime.timedelta(hours=12)
difference = abs(some_datetime_A - some_datetime_B)
# difference is now a timedelta object
# there are a couple of ways to do this comparision:
if difference > timedelta(minutes=1):
print "Timestamps were more than a minute apart"
# or:
if difference.total_seconds() > 60:
print "Timestamps were more than a minute apart"
答案 1 :(得分:3)
你可以使用datetime.timedelta
来做这样的事情。
from datetime import timedelta
datetime
算术类似于普通算法:您可以将timedelta
对象添加到datetime
对象以转移其时间:
dt = # some datetime object
dt_plus_12 = dt + timedelta(hours=12)
此外,您可以减去两个datetime
个对象,以获得表示它们之间差异的timedelta
:
dt2 = # some other datetime object
ONE_MINUTE = timedelta(minutes=1)
if abs(dt2 - dt) > ONE_MINUTE:
# do something