我有一個類似於Round a POSIX date (POSIXct) with base R functionality的問題,但是我希望能夠在第二天(00:00:00)的午夜時間總是將日期整數化。將POSIXct日期舍入到第二天
基本上,我想要一個相當於POSIX格式日期的ceiling
的函數。與相關問題一樣,我正在編寫我自己的軟件包,而且我已經有了幾個軟件包依賴關係,因此我不想添加更多。有沒有一種簡單的方法來做到這一點在基地R?
我有一個類似於Round a POSIX date (POSIXct) with base R functionality的問題,但是我希望能夠在第二天(00:00:00)的午夜時間總是將日期整數化。將POSIXct日期舍入到第二天
基本上,我想要一個相當於POSIX格式日期的ceiling
的函數。與相關問題一樣,我正在編寫我自己的軟件包,而且我已經有了幾個軟件包依賴關係,因此我不想添加更多。有沒有一種簡單的方法來做到這一點在基地R?
也許
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"
一個快速和骯髒的方法是轉換爲Date
(這截斷時間),加1(這是Date
日)再轉換回POSIX
是在午夜UTC在第二天。正如@Joshua Ulrich指出的那樣,時區/夏令時問題可能會給您帶來不希望的結果:
as.POSIXct(as.Date(Sys.time())+1)
[1] "2012-08-10 01:00:00 BST"
您將遇到時區和夏令時問題。如果你不需要時間組件,只需使用'Date'。 – 2012-08-09 17:52:41
我在網上颳了POSIXct風格的時間戳,我試着將它們輪到第二天。我不知道'Date'格式是否適用於... – 2012-08-09 18:08:40
所以,你有POSIXct風格的字符串...你不能只從字符串中去掉時間部分,轉換成'Date'並添加1結果? – 2012-08-09 18:11:03