如何解析时间

大卫542

有没有一种方法可以解析接下来的时间,而不用像s.spilt()很多次一样笨拙

s = 'PT1H28M26S'

我想得到:

num_mins = 88
帕德拉克·坎宁安

通过翻译除去P,T和M,然后几分之一秒地提取时间和分钟,并进行拆分:

s = 'PT1H28M26S'

hr, min = map(int, s.translate(None,"PTMS")[:-2].split("H"))
print(hr,min)
(1, 28)

如果几秒钟可能只有一位数字,请将它们剥离:

hr,min =  map(int,s[2:].rstrip("0123456789S")[:-1].split("H"))

一些计时表明find是最有效的,而时间最少的是:

In [38]: r  = re.compile(r"PT(\d+)H(\d+)M(\d+)S")

In [39]: %%timeit
   ....: match = r.search(s)
   ....: h, m, _ = map(int, match.groups())
   ....: 
100000 loops, best of 3: 3.16 µs per loop

In [40]: timeit t=time.strptime('PT1H28M2S', "PT%HH%MM%SS")
100000 loops, best of 3: 13.3 µs per loop

In [41]: timeit hr, min = map(int,s[2:].rstrip("0123456789S")[:-1].split("H"))
100000 loops, best of 3: 1.96 µs per loop
In [43]: timeit num_mins = int(s[s.find('H')-1]) * 60 +   int(s[s.find('H')+1:s.find('M')]) 
1000000 loops, best of 3: 1.54 µs per loop

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何解析时间?(Javascript)

来自分类Dev

如何解析UTC中的日期时间?

来自分类Dev

如何解析这种格式的Joda时间

来自分类Dev

如何解析CET / CEST日期时间?

来自分类Dev

如何解析R中的时间戳?

来自分类Dev

如何解析不同的时间格式

来自分类Dev

如何解析EXIF日期时间数据

来自分类Dev

如何解析该日期时间字符串?

来自分类Dev

如何解析日志文件并计算花费的总时间?

来自分类Dev

如何解析此数字以进行时间戳记?

来自分类Dev

如何解析该日期时间字符串?

来自分类Dev

如何解析日期和时间取决于时区?

来自分类Dev

您如何解析表示时间的HTML表?

来自分类Dev

如何解析一个小时的时间

来自分类Dev

如何解析JSDoc

来自分类Dev

如何解析orderedDict?

来自分类Dev

如何解析网页

来自分类Dev

如何解析文字

来自分类Dev

如何解析差距?

来自分类Dev

如何解析orderedDict?

来自分类Dev

如何解析文字

来自分类Dev

如何解析域名

来自分类Dev

如何解析 plist?

来自分类Dev

如何解析格式为P0Y0M0D的持续时间

来自分类Dev

如何解析最后包含GMT作为其时区的日期时间字符串?

来自分类Dev

如何解析毫秒和跨多个列的日期和时间?

来自分类Dev

如何解析自该纪元以来的时间戳(以毫秒为单位)?

来自分类Dev

如何解析/提取两个标签之间的日期和时间的文本?

来自分类Dev

如何解析表格以收集一天中特定时间的潮汐值