我有一个用hhmmss.mm编写的时间格式,例如从表导入的225014.09。 这是地震时间。我想把它变成R的22:50:14(:09?)。
我不知道该怎么做毫秒。应该是上面的方式。谁能帮我吗?我搜索过并搜索过,但找不到答案。
答案 0 :(得分:1)
这有两个一般规则:
严肃地说,使用日期时间解析器,其中R 很多。但这里的一个关键是你有时间而不是日期,所以你还不能解析为 datetime 。
所以做这样的事情:
R> tstr <- "225014.09"
R> dtstr <- paste("2026-01-01", tstr) # which date does not matter
R> pt <- anytime(dtstr) # now it is parsed
R> pt
[1] "2026-01-01 22:50:14.08 CST"
R> tstr <- "225014.09"
R> dtstr <- paste("2016-01-01", tstr) # which date does not matter
R> pt <- anytime(dtstr) # now it is parsed
R> pt
[1] "2016-01-01 22:50:14.08 CST"
R> hhmmss <- format(pt, "%H:%M:%OS")
R> hhmmss
[1] "22:50:14.089999"
R>
现在我们有首选的hh:mm:ss.ff,小数秒 - 我的默认值是你可以微调:
R> options(digits.secs=2)
R> hhmmss <- format(pt, "%H:%M:%OS")
R> hhmmss
[1] "22:50:14.08"
R>
&#39; 09&#39;四舍五入到&#39; 08&#39;浮点数学是其中之一,并且无法通过解析或格式化方式进行更改 - 这是对基础表示的限制。