- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的时间戳管理有问题。在我的数据集中,我有两个变量,即时间和相对时间。时间采用 HH:MM:SS.ss 格式,而相对时间是数字变量,包含自 0 以来经过的秒数(即 0.76, 1.28, 1.78, 2.38 ... )。为简单起见,让我们考虑假设情况:Time <- c("09:33:23.00", "09:35:25.00", "09:36:26.00")
RTime <- c(0.78, 1.28, 3.98)
然后我执行以下操作以将毫秒添加到时间:ATime <- strftime(strptime(Time,format="%H:%M:%OS")+(RTime %% 1),format="%H:%M:%OS2")
我希望它导致:"09:33:23.78" "09:35:25.28" "09:36:26.98"
但相反,我得到以下信息:"09:33:23.77" "09:35:25.27" "09:36:26.98"
大多数时候它只有一毫秒。我不明白为什么这样做。我可以在 strptime
中添加 0.01函数,即 (RTime %% 1) + 0.01
.但我觉得这不是很优雅,更重要的是,正如你在上面的例子中看到的那样,它并不总是 0.01 关闭 - 与最后一种情况一样。关于正在发生的事情的任何提示,或者改进代码的建议?
干杯
[解决了]
编辑:对于感兴趣的。这就是我最终解决我的问题的方式:ATime <- strftime(strptime(Time,format="%H:%M:%OS")+(RTime %% 1)+0.005,format="%H:%M:%OS2")
这会“强制”舍入而不是截断,从而导致以毫秒为单位的差异。
感谢@Josh O'Brien 和@nrussell 的评论!
最佳答案
As explained here (以及上面评论中的@nrussel)这是由 strftime()
引起的的截断(不是四舍五入!)机器的小数秒的稍微不精确的浮点表示。
作为一个可能有点笨拙的修复,您可以编写一个小的打印函数,添加一个非常小的值——大于 .Machine$double.eps
但小于 .01
-- 打印之前的每个时间值。
strftime2 <- function(x, ...) {
strftime(x + 1e-6, ...)
}
## Compare results
strftime(strptime(Time,format="%H:%M:%OS")+(RTime %% 1),format="%H:%M:%OS2")
# [1] "09:33:23.77" "09:35:25.27" "09:36:26.98"
strftime2(strptime(Time,format="%H:%M:%OS")+(RTime %% 1),format="%H:%M:%OS2")
# [1] "09:33:23.78" "09:35:25.28" "09:36:26.98"
关于r - 将毫秒添加到 R 中的时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28303026/
给定一个带有多个 date_time 戳的字符串,我想 提取第一个戳及其前面的文本 候选字符串可以有一个或多个时间戳 后续的 date_time 戳记将被 sep="-" 隔开 后续date_time
是否可以合并从相机拍摄的文本和照片?我想在照片上标记日期和时间,但我在 Google 上找不到任何内容。 最佳答案 使用下面的代码来实现你所需要的。 Bitmap src = Bitm
有没有办法通过 Graph API 戳另一个用户?基于this post ,并使用 Graph Explorer ,我发布到“/USERID/pokes”,我已经授予它(Graph API 应用程序和
我有两个向左浮动的元素。一个是 body 的第一个 child ,另一个是容器的第一个 child ,容器是 body 的第二个 child 。 ...
我是一名优秀的程序员,十分优秀!