web-dev-qa-db-ja.com

UNIXエポックを日付オブジェクトに変換

私は、均一に分布した時系列でプロットと計算を行っています。タイムスタンプは現在、UNIXエポックからの秒数を表す整数として保存されていますが(例:1352068320)、Dateオブジェクトはプロットに適しているようです。どうすれば変換できますか?

?Date?as.Date、および??epochを読みましたが、その情報を見逃しているようです。

103
Andreas

POSIXctを経由して、そこにTZを設定します。ここに、私の(シカゴ)デフォルトが表示されます。

R> val <- 1352068320
R> as.POSIXct(val, Origin="1970-01-01")
[1] "2012-11-04 22:32:00 CST"
R> as.Date(as.POSIXct(val, Origin="1970-01-01"))
[1] "2012-11-05" 
R> 

編集:数年後、 いつでも パッケージを使用できるようになりました:

R> library(anytime)
R> anytime(1352068320)
[1] "2012-11-04 16:32:00 CST"
R> anydate(1352068320)
[1] "2012-11-04"
R> 

フォーマットやOrigin引数なしでこれがすべて機能することに注意してください。

199

1970年1月1日00:00:00 UTCからの秒数として保存された潤滑油ライブラリの日付と時刻。だからできる

    library(lubridate)
    as_datetime(1352068320)
[1] "2012-11-04 22:32:00 UTC"
7