我有一个像这样的字符串00:05:33.91
,表示 5 分 33 秒和 91/100 秒。
如何获得总秒数?在示例中为5*60+33+91/100 = 333.91
秒。
假设您的时间不超过 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"))
您应该将字符串分成包含数字的子字符串。您可以使用正则表达式为每个时间单位提取组,或使用split(".")
字符串的方法。这将导致字符串数组,其中第一个是"00:05:33"
,第二个"91"
。
之后,您可以再次制作 a split(":")
,这将导致第一个元素为"00"
、第二个"05"
和第三个元素为 的字符串数组"33"
。然后你应该使用String.parseInt
每个数字,当你有数字时,你可以对它进行算术运算。
我不确定,但也许Yoda Time
图书馆会帮助您更快更好地实现这一目标。例如,在 Yoda 中,您可以将给定的字符串直接解析为日期,并且getSeconds()
- 也许这会起作用,但我不确定。我认为您应该首先尝试自己弄清楚,因为这确实是一个简单的任务,当您完全不知道如何实现这一点时,您应该寻求帮助。