我有一个类似于Round a POSIX date (POSIXct) with base R functionality的问题,但我希望总是把日期延长到第二天午夜(00:00:00)。
基本上,对于POSIX格式的日期,我想要一个等效于ceiling
的函数。与相关问题一样,我正在编写自己的包,并且我已经有几个包依赖项,所以我不想添加更多。在基础R中有一种简单的方法吗?
答案 0 :(得分:8)
也许
trunc(x,"days") + 60*60*24
> x <- as.POSIXct(Sys.time())
> x
[1] "2012-08-09 18:40:08 BST"
> trunc(x,"days")+ 60*60*24
[1] "2012-08-10 BST"
答案 1 :(得分:0)
快速而肮脏的方法是转换为Date
(截断时间),添加1(这是Date
的一天),然后转换回POSIX
在第二天的午夜UTC。正如@Joshua Ulrich指出的那样,时区/夏令时问题可能会给您带来预期的结果:
as.POSIXct(as.Date(Sys.time())+1)
[1] "2012-08-10 01:00:00 BST"