如何在Python中将H:MM:SS时间字符串转换为秒?

91 投票
15 回答
133757 浏览
提问于 2025-04-16 19:51

基本上,我遇到的问题和这个相反:Python时间秒数转h:m:s

我有一个字符串,格式是H:MM:SS(分钟和秒总是两位数),我需要把它转换成表示的整数秒数。请问我该怎么在Python中做到这一点?

举个例子:

  • "1:23:45" 转换后会得到5025秒
  • "0:04:15" 转换后会得到255秒
  • "0:00:25" 转换后会得到25秒

等等

15 个回答

16

使用datetime模块

import datetime
t = '10:15:30'
h,m,s = t.split(':')
print(int(datetime.timedelta(hours=int(h),minutes=int(m),seconds=int(s)).total_seconds()))

输出结果:36930

68
ts = '1:23:45'
secs = sum(int(x) * 60 ** i for i, x in enumerate(reversed(ts.split(':'))))
print(secs)

当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。

136

在编程中,有时候我们会遇到一些问题,尤其是在使用某些工具或库的时候。这些问题可能会让我们感到困惑,不知道该如何解决。比如,有人可能在使用一个特定的功能时,发现它没有按照预期工作。这种情况下,了解问题的原因和解决方法就显得特别重要。

通常,解决这类问题的第一步是仔细阅读相关的文档或说明。文档里会详细介绍这个功能是如何工作的,以及可能出现的错误和解决方案。如果文档没有提供足够的信息,我们可以在网上搜索相关的讨论,比如在StackOverflow这样的平台上,看看其他人是否遇到过类似的问题。

另外,尝试自己动手调试也是一个好方法。通过逐步检查代码,看看每一部分是如何运行的,可以帮助我们找到问题的根源。记得在调试时保持耐心,很多时候问题的解决需要时间和细心。

总之,遇到问题时,不要急于放弃。通过查阅资料、寻求帮助和自己动手尝试,我们通常能够找到解决方案。

def get_sec(time_str):
    """Get seconds from time."""
    h, m, s = time_str.split(':')
    return int(h) * 3600 + int(m) * 60 + int(s)


print(get_sec('1:23:45'))
print(get_sec('0:04:15'))
print(get_sec('0:00:25'))

撰写回答