用python计算时差
postgresql中定义的日期时间表字段:用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从表中检索时间时,我得
列(“已创建”,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时间。这不是你想要的吗?