R:如何从“HH:MM:SS.CC”这样的字符串中获取秒数

时间:2012-09-19 10:21:18

标签: r datetime

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

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

2 个答案:

答案 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() - 也许这会起作用,但我不确定。我认为你应该首先尝试自己弄清楚它是非常简单的任务,当你完全不知道如何实现这一目标时,你应该寻求帮助。