2

我有一个像这样的字符串00:05:33.91,表示 5 分 33 秒和 91/100 秒。

如何获得总秒数?在示例中为5*60+33+91/100 = 333.91秒。

4

2 回答 2

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"))
于 2012-09-19T11:16:19.330 回答
0

您应该将字符串分成包含数字的子字符串。您可以使用正则表达式为每个时间单位提取组,或使用split(".")字符串的方法。这将导致字符串数组,其中第一个是"00:05:33",第二个"91"

之后,您可以再次制作 a split(":"),这将导致第一个元素为"00"、第二个"05"和第三个元素为 的字符串数组"33"。然后你应该使用String.parseInt每个数字,当你有数字时,你可以对它进行算术运算。

我不确定,但也许Yoda Time图书馆会帮助您更快更好地实现这一目标。例如,在 Yoda 中,您可以将给定的字符串直接解析为日期,并且getSeconds()- 也许这会起作用,但我不确定。我认为您应该首先尝试自己弄清楚,因为这确实是一个简单的任务,当您完全不知道如何实现这一点时,您应该寻求帮助。

于 2012-09-19T10:28:32.113 回答