【问题标题】:Python - Calculate the difference between two datetime.time objectsPython - 计算两个 datetime.time 对象之间的差异
【发布时间】:2017-09-04 11:00:51
【问题描述】:

我有两个 datetime.time 对象,我想计算它们之间的小时差。例如

a = datetime.time(22,00,00)
b = datetime.time(18,00,00)

我希望能够减去这些,以便得到值 4。

【问题讨论】:

    标签: python-3.x datetime


    【解决方案1】:

    要计算差异,您必须将datetime.time 对象转换为datetime.datetime 对象。然后当你减去时,你会得到一个timedelta 对象。为了找出timedelta 对象的小时数,您必须找到总秒数并除以3600

    # Create datetime objects for each time (a and b)
    dateTimeA = datetime.datetime.combine(datetime.date.today(), a)
    dateTimeB = datetime.datetime.combine(datetime.date.today(), b)
    # Get the difference between datetimes (as timedelta)
    dateTimeDifference = dateTimeA - dateTimeB
    # Divide difference in seconds by number of seconds in hour (3600)  
    dateTimeDifferenceInHours = dateTimeDifference.total_seconds() / 3600
    

    【讨论】:

      【解决方案2】:

      我就是这样做的

      a = '2200'
      b = '1800'
      time1 = datetime.strptime(a,"%H%M") # convert string to time
      time2 = datetime.strptime(b,"%H%M") 
      diff = time1 -time2
      diff.total_seconds()/3600    # seconds to hour 
      

      输出:4.0

      【讨论】:

        【解决方案3】:

        我从这个问题中得到了结果:

        a='2017-10-10 21:25:13'
        
        b='2017-10-02 10:56:33'
        
        a=pd.to_datetime(a)
        
        b=pd.to_datetime(b)
        
        c.total_seconds()/3600
        

        但在系列中不起作用:

        table1['new2']=table1['new'].total_seconds()/3600
        

        【讨论】:

          猜你喜欢
          • 2017-03-26
          • 2011-10-10
          • 2017-06-13
          • 2022-09-22
          • 2012-06-16
          • 2020-05-13
          相关资源
          最近更新 更多