【发布时间】:2017-08-24 16:51:38
【问题描述】:
postgresql 中定义的日期时间表字段:
Column("created_on",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 小时(变量 var1)进行比较,并根据输出,需要采取某些措施。这 2 小时我已转换为:
mcalc = datetime.timedelta(seconds=var1*60*60)
所以我想做的是,
diff_tm = (mcurr_time - mcreations_time)
if diff_tm > mcalc:
do_some1()
else:
do_some2()
我不知道是否需要在任何日期进行任何转换,最好是当前时间,因为我的所有表格都如上所述定义。 这两个日期的时差对于任何客户(即世界上任何地方)都应该是正确的
【问题讨论】:
-
日期时间的减法产生一个 datetime.timedelta 对象。
interval = mcurr_time - mcreation_time。这不是你想要的吗?
标签: python postgresql datetime sqlalchemy