【发布时间】:2021-12-31 02:56:13
【问题描述】:
我有一个非标准(非 Linux)时间戳,显示为 str,需要转换为 int,其中包含在那里表示的总秒数。
我的源数据如下所示:
timestr = "1 year 26 weeks 1 day 23 hours 29 minutes"
我可以轻松地从该字符串中提取不同的值并执行手动计算,但希望其中一个时间模块可以为我做数学计算。我只是找不到任何需要这种特殊计算的例子,因为我不关心我的数据的纪元或任何日期时间表示。
以上面的示例为例,我计划在我的代码中相应地分配值:
years=1
weeks=26
days=1
hours=23
minutes=29
这种情况下的答案是47431740 总秒数。
【问题讨论】:
-
会严格遵循这个模式吗?
-
@juanpa.arrivillaga 是的!
-
好吧,不幸的是,我认为任何内置函数都无济于事。但这似乎很简单,不是吗?
years*31540000 + weeks*604800 + days*86400 + 3600*hours + minutes*60 -
@juanpa.arrivillaga 是的,这样的东西很干净,谢谢。我想我假设使用 datetime 和其他模块具有的所有各种方法,它会内置这个,但我找不到任何东西。
-
是的,不幸的是,甚至
arrow都不支持带年份的时间增量 :( 可能是因为年份不明确