当前位置: 首页 > 面试题库 >

如何解析Python中从几年到几秒的自由文本时间间隔?

公良光熙
2023-03-14
问题内容

我想使用Python解析如下的自由文本时间间隔:

  • 1秒
  • 2分钟
  • 3小时
  • 4天
  • 5周
  • 6个月
  • 7年

是否有一种轻松的方法,理想情况下,只需调用一个库函数即可?

我试过了:

  • dateutil.parser.parse(),它可以理解从几秒钟到几小时的信息,但不能理解几天甚至更长的时间。
  • mx.DateTime.DateTimeDeltaFrom(),它可以理解几天,但会在数周或更长时间内失败,并且无提示(例如,它可能会创建一个长度为0的间隔,或将“ 2个月”解析为2分钟)。

问题答案:

这是我的新手,但根据一些谷歌搜索,您尝试过飞快移动吗?

编辑:还有parsedatetime:

#!/usr/bin/env python
from datetime import datetime
import parsedatetime as pdt # $ pip install parsedatetime

cal = pdt.Calendar()
for time_str in ['1 second', '2 minutes','3 hours','5 weeks','6 months','7 years']:
    diff = cal.parseDT(time_str, sourceTime=datetime.min)[0] - datetime.min
    print("{time_str:<10} -> {diff!s:>20} <{diff!r}>".format(**vars()))

输出量

1 second   ->              0:00:01 <datetime.timedelta(0, 1)>
2 minutes  ->              0:02:00 <datetime.timedelta(0, 120)>
3 hours    ->              3:00:00 <datetime.timedelta(0, 10800)>
5 weeks    ->     35 days, 0:00:00 <datetime.timedelta(35)>
6 months   ->    181 days, 0:00:00 <datetime.timedelta(181)>
7 years    ->   2556 days, 0:00:00 <datetime.timedelta(2556)>


 类似资料:
  • 本文向大家介绍js获取指定时间的前几秒,包括了js获取指定时间的前几秒的使用技巧和注意事项,需要的朋友参考一下 最近项目上有一个需求是:根据一张图片的拍摄时间获取到这个时间前二后三的一个五秒钟的视频信息,通过查找相关资料写了一个方法拿来记录分享一下。 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!

  • 问题内容: 如何在几天,几小时,几周或几个月后迭代一个时间跨度? 就像是: 其中foo是一个函数,返回一个迭代器。我一直在研究日历模块,但是它仅适用于特定的一年或一个月,不适用于日期之间。 问题答案: 使用dateutil及其rrule实现,如下所示: 输出为 将“每月”替换为“每年”,“每月”,“每周”,“每天”,“每小时”,“半年”或“第二”。替换dtstart,直到您想要的任何datetim

  • 我有一个数据框,它有4年的数据,看起来像这样: 我想做的是将2021年的值替换为同一时间框架中前3年值的权重。所以在这个例子中,只将2021年第1周到第3周的值替换为:45%*2020 30%*2019 25%*2018 这将为我们提供2021年的以下信息: 我们得到了2021周3的值:0.4532×0.330×0.25×26=14.4 9 6.5=29.9 此外,我希望能够跳过几年,如果我想,2

  • 问题内容: 所以,我有两个日期和 我如何找出它们之间有多少秒? 问题答案: 我用YYYY和ZZZZ表示整数,表示年份,MM&NN表示整数,表示年份的月份,而DD&EE表示整数,表示月份的月份。 或者,如果您的日期采用javascript可以解析的格式 然后您可以使用该值作为毫秒之间的差异(在我的两个示例中,dif的含义相同)

  • 我开发了一个Android应用程序,一旦滑块完成显示MainActivity,它就会有闪屏,但在我的情况下,一旦显示MainActivity,它会在几秒钟(大约5秒)后自动重新加载(就像MainActivity第一次打开时一样打开)。 这是我的SplashScreenActivity 飞溅屏幕适配器 主要活动 仅从这个活动中,我调用了FunctionsActivity(MainActivity)。