You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求Python中类似Perl Time::Duration::Parse的时长转秒工具

Python中类似Time::Duration::Parse的时长解析库

Perl的Time::Duration::Parse能把自然语言描述的时长转成秒数,Python里有几个功能类似的实用库,以下是常用方案:

1. pytimeparse

这是最接近需求的库,支持自然语言表述和缩写格式的时长解析,返回总秒数。

安装

pip install pytimeparse

使用示例

from pytimeparse import parse

print(parse("1 day and 2 seconds"))  # 输出86402
print(parse("7 seconds"))            # 输出7
print(parse("5m"))                   # 输出300
print(parse("1 year and 5 months"))  # 输出44496000(默认按30天/月、365天/年计算)

2. humanfriendly

这个库除了解析时长,还支持格式化时长,但同样可以实现自然语言转秒数的需求。

安装

pip install humanfriendly

使用示例

from humanfriendly import parse_timespan

print(parse_timespan("1 day and 2 seconds"))  # 输出86402
print(parse_timespan("7 seconds"))            # 输出7
print(parse_timespan("5m"))                   # 输出300
print(parse_timespan("1 year and 5 months"))  # 输出44496000

3. dateparser(支持更复杂的自然语言)

dateparser主要用于解析日期,但也支持解析相对时长,适合处理更灵活的自然语言表述。

安装

pip install dateparser

使用示例

from dateparser.time_parser import parse_timespan

result = parse_timespan("1 day and 2 seconds")
print(result.total_seconds())  # 输出86402.0

print(parse_timespan("7 seconds").total_seconds())            # 输出7.0
print(parse_timespan("5m").total_seconds())                   # 输出300.0
print(parse_timespan("1 year and 5 months").total_seconds())  # 输出44496000.0

这些库都能满足将自然语言时长转换为秒数的需求,其中pytimeparse的语法兼容性和Perl的Time::Duration::Parse最接近,推荐优先尝试。

内容的提问来源于stack exchange,提问作者JohnnyLoo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 04:20:57