UTC タイムスタンプがあります。でYYYY/MM/DD形式に変換したいR
。
たとえば、1318394558766
. format
コマンドの試行に失敗しました。
どんな助けでも大歓迎です。
ありがとう!
as.POSIXct
またはを使用できますas.POSIXlt
。ただし、ミリ秒数が開始された元の日付を知る必要があります。
as.POSIXct(1318394558766/1000, origin='1970-01-01')
> unlist(as.POSIXlt(1318394558766/1000, origin='1970-01-01'))
sec min hour mday mon year wday yday isdst
38.766 42.000 21.000 11.000 9.000 111.000 2.000 283.000 1.000
>
format
次に、目的の YYYY/MM/DD を取得するために使用できます。
format(as.POSIXct(1318394558766/1000, origin='1970-01-01'), format='%Y/%m/%d')
ジャスティンの答えに加えて(そして私はコメントできないため)、変換に tz を追加することをお勧めします。
as.POSIXct(1318394558766/1000, origin='1970-01-01')
[1] "2011-10-12 05:42:38 EST"
as.POSIXct(1318394558766/1000, origin='1970-01-01', tz="UTC")
[1] "2011-10-12 04:42:38 UTC"
詳細については、次を参照してください。
?timezone
さらに別の解決策は、次を使用すること.POSIXct
です。
utc <- .POSIXct(1318394558766/1000, tz="UTC")
utc
次に、日付または文字ベクトルに簡単に変換できます。
as.Date(utc) # Date vector
format(utc, "%Y-%m-d") # character vector