如何在Python中将H:MM:SS时间字符串转换为秒?
基本上,我遇到的问题和这个相反: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'))