如何在python中将datetime对象移动12个小时

Ric*_*ard 5 python datetime

由于某种原因,日期时间对象伤害了我的头.我正在写作如何将日期时间对象移动12小时.我还需要知道如何确定两个日期时间对象是否相差1分钟或更长时间.

Amb*_*ber 18

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"
Run Code Online (Sandbox Code Playgroud)


Dav*_*d Z 5

你会用datetime.timedelta在这样的事情上。

from datetime import timedelta
Run Code Online (Sandbox Code Playgroud)

datetime算术有点像普通算术:你可以将一个timedelta对象添加到一个datetime对象来改变它的时间:

dt = # some datetime object
dt_plus_12 = dt + timedelta(hours=12)
Run Code Online (Sandbox Code Playgroud)

您也可以减去两个datetime对象来timedelta表示它们之间的差异:

dt2 = # some other datetime object
ONE_MINUTE = timedelta(minutes=1)
if abs(dt2 - dt) > ONE_MINUTE:
    # do something
Run Code Online (Sandbox Code Playgroud)