Hatena::ブログ(Diary)

盆栽日記

2018-02-11

as.Dateするときはタイムゾーンをちゃんと指定しよう問題

POSIXctな時刻データにas.Dateすると、1日前の日付に変わってしまう。

> as.POSIXct("2001-01-01 00:00:01")
[1] "2001-01-01 00:00:01 JST"
> as.Date(as.POSIXct("2001-01-01 00:00:01"))
[1] "2000-12-31"

これはタイムゾーンを指定しないとGMTと解釈されるためであり、タイムゾーンを適切に指定すれば問題ない。

> as.Date(as.POSIXct("2001-01-01 00:00:01"), tz = "Asia/Tokyo")
[1] "2001-01-01"

怖い。

はてなユーザーのみコメントできます。はてなへログインもしくは新規登録をおこなってください。

トラックバック - http://d.hatena.ne.jp/dichika/20180211/p1