[英]Calculate time difference in python
在postgresql中定義的datetime表字段: 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()
我不知道在任何日期(最好是當前時間) 是否都需要進行任何轉換,因為我的所有表都如上所述定義。 任何客戶(即世界上任何地方)的兩個日期中的時差均應正確
通過刪除時區偏移並在計算中使用來解決此問題:
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))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.