代码之家  ›  专栏  ›  技术社区  ›  khex

日期减法:事件是否发生?

  •  0
  • khex  · 技术社区  · 9 年前

    如果我有每天的日期时间-如何通过减去 datetime.now()

    让我们每天在15:35开会。今天约翰来得更早——12:45,但亚历克斯迟到了2小时15分钟(17:40)。

    meet_dt = datetime(year=2015, month=8, day=19, hour=15, minute=35)
    john_dt = datetime(year=2015, month=8, day=19, hour=12, minute=45)
    alex_dt = datetime(year=2015, month=8, day=19, hour=17, minute=40)
    
    print(meat_dt - john_dt) # came before > 2:50:00
    print(meat_dt - alex_dt) # came after  > -1 day, 21:55:00
    

    如果我少了一次大约会,那么一切都很好,但反过来,我会 -1天,21:55:00 为什么不呢? -2:15:00 ,多么糟糕的一天?

    1 回复  |  直到 9 年前
        1
  •  2
  •   Kevin    9 年前

    因为时间增量是标准化的

    除了天数字段之外,时间增量的所有部分总是非负的, as described in the documentation .

    顺便说一下,如果你想先看看发生了什么,不要做减法。直接与 < :

    if then < datetime.datetime.now():
        # then is in the past