Rでunix時間からJSTに変更する際はas_datetime()

よくあるタイムスタンプであるUNIX時間をJST日本標準時)に変更したい。 もちろんbaseのas.POSIXctを使うという手もあるが、私はoriginを指定するのに疲れたみたい。baseを嫌いになったわけじゃない。 ということでlubridateパッケージのas_datetimeでタイムゾーンをtzに指定していくやり方に統一することにする。

library(lubridate)
as_datetime(1500000000, tz="Asia/Tokyo")

参考にしたのは以下のSOの回答。tidyverseにこだわらないならanytimeパッケージもありだ。 stackoverflow.com

タイムスタンプがUNIXマイクロ秒のこともある。 それをミリ秒表記に直したいときは例えば以下のようにやる。

as_datetime(1559000000000000/(1000^2)) %>% format("%Y-%m-%d %H:%M:%OS3")