4

Round a POSIX date (POSIXct) with base R functionsに似た質問がありますが、常に翌日の午前 0 時 (00:00:00) まで日付を切り上げたいと考えています。

ceiling基本的に、 POSIX 形式の日付と同等の関数が必要です。関連する質問と同様に、私は自分のパッケージを作成していますが、すでにいくつかのパッケージの依存関係があるため、これ以上追加したくありません。ベースRでこれを行う簡単な方法はありますか?

4

2 に答える 2

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"
于 2012-08-09T17:55:27.357 に答える
0

手っ取り早い方法は、Date(時刻を切り捨てる)に変換し、1(の日)を追加してから、翌日のUTC午前0時にDate戻すように変換することです。POSIX@Joshua Ulrichが指摘しているように、タイムゾーン/夏時間の問題により、予期しない結果が生じる可能性があります。

as.POSIXct(as.Date(Sys.time())+1)
[1] "2012-08-10 01:00:00 BST"
于 2012-08-09T18:00:34.337 に答える