素人の備忘録。
検索しても全然情報がなかったので。
状況
WindowsのRでSys.time()を使ったらGMTで返されたうえにエラーが出た。
> Sys.time()
[1] "2017-07-17 04:25:22 GMT"
警告メッセージ:
1: as.POSIXlt.POSIXct(x, tz) で: unknown timezone 'Asia/Tokyo'
2: as.POSIXlt.POSIXct(x, tz) で: unknown timezone 'GMT'
3: as.POSIXlt.POSIXct(x, tz) で: unknown timezone 'America/New_York'
原因
timezoneの情報は%R_HOME%/share/zoneinfo
以下にある。
%R_HOME%/etc/Rcmd_environ
をコピーして.Renviron
を作成していたが、その中の以下の部分が問題だった。
R_SHARE_DIR=${R_HOME}/share
Sys.getenv("R_SHARE_DIR")
で見てみると、なぜか/
で区切られてないパスが出てきた。
(推測:Rのインストールディレクトリが\
マーク区切りでレジストリに登録されているのが問題?)
解決
.Renviron
の該当の行を削除したらJSTの時間が出てきた。