用python计算时差

用python计算时差,python,postgresql,datetime,sqlalchemy,Python,Postgresql,Datetime,Sqlalchemy,postgresql中定义的日期时间表字段: 列(“已创建”,DateTime(timezone=True),default=DateTime.DateTime.utcnow) 在python代码中,我将当前时间转换为感知时间,如下所示: mcurr_time = datetime.datetime.now().replace(tzinfo=pytz.UTC) 我的当前时间为: 2017-03-30 21:44:51.394387+00:00 当我使用sqlalchemy从表中检索时间时,我得

postgresql中定义的日期时间表字段:
列(“已创建”,DateTime(timezone=True),default=DateTime.DateTime.utcnow)

在python代码中,我将当前时间转换为感知时间,如下所示:

mcurr_time = datetime.datetime.now().replace(tzinfo=pytz.UTC)
我的当前时间为:

2017-03-30 21:44:51.394387+00:00

当我使用sqlalchemy从表中检索时间时,我得到:

mcreation_time=2017-03-30 15:05:01.350078+05:30

如何找出2之间的差异或必须使用什么转换 要将差异与小时进行比较?所有的桌子都有时区 知道日期时间。我需要确切的代码,因为我检查了所有的例子,我感到困惑

两个日期之间的差异在不进行任何转换的情况下有效。结果必须与示例2小时(变量var1)进行比较,并基于输出,需要采取某些措施。这2小时我已转换为:

mcalc = datetime.timedelta(seconds=var1*60*60)
所以我想做的是

diff_tm = (mcurr_time - mcreations_time)

if diff_tm > mcalc:
    do_some1()
else:
    do_some2()
不知道任何日期是否需要任何转换,最好是当前时间,因为我的所有表格都是如上所述定义的。
这两个日期的时差应从任何客户处(即世界上任何地方)获得正确的时间差

通过删除时区偏移并在计算中使用:

mcurr_time = datetime.datetime.utcnow().replace(tzinfo=pytz.UTC)
mcurr_time = mcurr_time.replace(
          tzinfo=psycopg2.tz.FixedOffsetTimezone(offset=0, name=None))

mcreation_time = mcreation_time.replace(
          tzinfo=psycopg2.tz.FixedOffsetTimezone(offset=0, name=None))

datetimes的减法生成datetime.timedelta对象<代码>间隔=mcurr\u时间-mcreation\u时间。这不是你想要的吗?