【问题标题】:Subtract time from datetime.time object从 datetime.time 对象中减去时间
【发布时间】:2017-07-24 11:10:44
【问题描述】:
from datetime import datetime, timedelta
current_time = datetime.now().time()
new_time = current_time - timedelta(seconds=10)
>> TypeError: unsupported operand type(s) for -: 'datetime.time' and 'datetime.timedelta'

如何从 datetime.time 对象中减去时间?此代码似乎仅适用于 datetime.datetime 对象。

【问题讨论】:

    标签: python datetime


    【解决方案1】:

    在返回时间之前,您可以从当前的datetime 对象中减去 10 秒。

    current_time = (datetime.now() - timedelta(seconds=10)).time()
    

    【讨论】:

      【解决方案2】:

      Timedelta 仅适用于 datetime.datetime 和 datetime.date 对象。但你总是可以这样做

      current_dt = datetime.datetime.now()
      newdt = currentdt - datetime.delta(seconds=10)
      new_time = newdt.time()
      

      【讨论】:

        【解决方案3】:

        获取日期时间减法后的时间:

        from datetime import datetime, timedelta
        current_time = datetime.now()
        new_time = current_time - timedelta(seconds=10)
        new_time = new_time.time()
        print new_time
        

        输出:10:56:43.408337

        【讨论】:

          猜你喜欢
          • 2017-05-04
          • 2015-05-11
          • 1970-01-01
          • 2019-06-07
          • 1970-01-01
          • 2016-07-23
          • 1970-01-01
          相关资源
          最近更新 更多