python中如何计算同一id中相邻两个时间的时间差?

想通过id和共享单车开关锁状态(0-开锁,1-关锁)来解决某一单车的骑行时间,发现其中有的单车未开过锁,想知道如何利用python计算出单车单次骑行的耗时情况

               BICYCLE_ID                LOCK_STATUS    UPDATE_TIME
34481    0000ff105fd5f9099b866bccd157dc50    0    2020-12-21 06:32:48
41110    0000ff105fd5f9099b866bccd157dc50    1    2020-12-21 06:50:18
66106    0000ff105fd5f9099b866bccd157dc50    0    2020-12-21 08:23:32
65945    0000ff105fd5f9099b866bccd157dc50    1    2020-12-21 08:44:34
3547    0000ff105fd5f9099b866bccd157dc50    0    2020-12-22 08:00:44
...    ...    ...    ...
539894    ffffa4a7c6cd6cda114fdb0e6f391038    0    2020-12-21 08:42:24
531173    ffffa4a7c6cd6cda114fdb0e6f391038    1    2020-12-21 08:47:35
417516    ffffa4a7c6cd6cda114fdb0e6f391038    0    2020-12-24 08:10:27
408135    ffffa4a7c6cd6cda114fdb0e6f391038    1    2020-12-24 08:26:57
433347    ffffa4a7c6cd6cda114fdb0e6f391038    0    2020-12-24 08:51:34
阅读 938
1 个回答

我觉得这个是流程设计上的问题,一个可能更合理的处理方式是,对于已经开锁的设备,单独放置在一个状态记录池中,当关锁行为发生时,在池中查询,并移出开锁状态池。

这样有一些好处:

  1. 每次关锁只可能发生在开锁后的状态下,减少对应查询
  2. 关锁时直接可以处理好计时
  3. 开锁和关锁都可以状态操作元子化处理
  4. 大的日志表也只需要简单记录过程转换情况啦
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题