我有一个像00:05:33.91
这样的字符串,意思是5分33秒和91/100秒。
如何获得总秒数?在示例中,它是5*60+33+91/100 = 333.91
秒。
答案 0 :(得分:7)
假设您的时间不超过24小时,则可以正常工作。使用包含字符的向量foo
:
foo <- c("00:05:33.91","00:05:55","00:09:01.11")
我们可以获得如下的总时间:
as.numeric(as.difftime(foo,format="%H:%M:%OS",units="secs"))
答案 1 :(得分:0)
您应该将字符串分成包含数字的子字符串。您可以使用regexp为每个时间单位提取组,或使用split(".")
字符串方法。这将产生一个字符串数组,其中第一个是"00:05:33"
,第二个是"91"
。
之后你可以再次制作一个split(":")
,这将产生一个字符串数组,其中第一个元素是"00"
,第二个是"05"
,第三个是"33"
。然后你应该为每个数字使用String.parseInt
,当你有数字时,你可以对它进行算术运算。
我不确定,但也许Yoda Time
库会帮助您更快更好地实现这一目标。例如在Yoda中你可以直接解析给定的字符串到日期,而getSeconds()
- 也许这会起作用,但我不确定。我认为你应该首先尝试自己弄清楚它是非常简单的任务,当你完全不知道如何实现这一目标时,你应该寻求帮助。