【问题标题】:Add two hours python [duplicate]添加两个小时python [重复]
【发布时间】:2015-10-08 16:52:28
【问题描述】:

我需要以小时为单位添加两个时间增量。目前我这样做:

t_day = timedelta(hours=self.time_day_hours,
                  minutes=self.time_day_minutes)

t_night = timedelta(hours=self.time_night_hours,
                    minutes=self.time_night_minutes)

total = str(t_day + t_night)[:-3]

仅当总时间少于 1 天时才有效。如果它更高,它将开始新的一天。我不想要这个。例如,我想要:

7h56m + 21h05m = 29h01m

如何将时间增量相加并获得总小时数?

【问题讨论】:

  • 你是什么意思“两个小时”?时间?
  • 是的,你说得对,对不起,我的意思是两次(这在法语中是这样说的)。

标签: python python-3.x time


【解决方案1】:

你应该对这类东西使用除法:

>>> hours_23 = datetime.timedelta(hours=23)
>>> hours_2 = datetime.timedelta(hours=2)
>>> hours_25 = hours_23 + hours_2

>>> hours_25 / datetime.timedelta(hours=1)
25.0

或者,如果您愿意,total_seconds() method:

>>> hours_25.total_seconds() / (60 * 60)
25.0

【讨论】:

  • 太完美了!正是我想要的!谢谢!
  • 呃,等等,它不能完美运行。我尝试将 22h39 添加到 13h34,它给了我36.21,但我应该有36.13
  • @Wizix: 36.21 是总小时数(我认为这是您所要求的)。 36.13hours.minutes,这是完全不同的事情。查看duplicated question 找到解决您问题的方法。
猜你喜欢
  • 2013-10-24
  • 2022-01-18
  • 1970-01-01
  • 1970-01-01
  • 2022-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多