POSIXctはタイムゾーンを伴った日時型であり、これをas.Date()という組み込み関数に渡すと、Dateという日時型に変換できる。 この関数の挙動にどうにも違和感がある。 どうもこの関数、POSIXctをas.Date() する時にtzを指定しない場合、POSIXctのタイムゾーンに何が設定されていてもUTCとみなして処理されているようなのだ。 例 > as.POSIXct('2015-01-01 00:00:00') [1] "2015-01-01 JST" > as.Date(as.POSIXct('2015-01-01 00:00:00')) [1] "2014-12-31" > as.Date(as.POSIXct('2015-01-01 00:00:00', tz="UTC")) [1] "2015-01-01" 実装を読んでみた as.DateはRにおいて、総称関数と呼ば