【发布时间】:2017-12-17 14:35:31
【问题描述】:
我想知道是否有一种方法可以使用 xts 包计算时差,而无需转换时间值等(如果可能)。我有一个xts 对象,其时间格式为2010-02-15 13:35:59.123(其中.123 是毫秒)。
现在,我想知道一天结束前的毫秒数(即17:00:00)。然而,问题是我基本上必须先对数据进行一些转换(例如使用as.POSIXct),这变得更加复杂,因为我必须在不同的日子甚至不同的时间做这件事。出于这个原因,我宁愿不必转换“一天结束时间”并将其保留为17:00:00,这样才能找到当前时间和一天结束时间之间的毫秒数一个相当简单的操作比如17:00:00.000 - 13:35:59.123 = ...
有没有一种简单的方法可以通过最少的转换来做到这一点?我确定xts 有一个我不知道的功能,但我在文档中找不到任何东西:/
编辑:我忘了提及,我尝试通过首先尝试使用函数as.POSIXct(16:00:00, format = "%H:%M:%S") 来计算时间差来尝试更“直截了当”的路线,但这会产生错误,老实说,我不确定为什么。 ..
【问题讨论】:
-
函数应该是
as.POSIXct("16:00:00", format = "%H:%M:%S")但as.POSIXct()将返回日期、时间和时区。如“2017-07-12 16:00:00 CDT” -
您可能会查看 lubridate 包,但我不知道它是否处理小数秒。
-
@Kevin Ah 谢谢!是的,实际上我几天前查看了 lubridate 包,但我不能使用它(至少据我所知),因为我使用的是
xts