1

通常、日付/時刻オブジェクトを表すには chron を使用します。ただし、POSIX 形式で動作するいくつかの関数を使用する必要があるため、cron から POSIXct に移行しようとしています。as.POSIXct() を使用するとうまくいくようですが、結果は GMT ではなくローカルタイムになります (元のデータは GMT です)。

x <- chron(dates="05/12/15", times="12:30:45")
as.POSIXct(x, tz="GMT")
"2015-05-12 13:30:45 BST"

私が欲しいのは:

"2015-05-12 12:30:45 GMT"

しかし、私はそれを取得する方法を見つけることができません。

元の入力が文字列ではなく chron オブジェクトであるため、 strptime() は機能しません。もちろん、chron オブジェクトから文字列、そして POSIXct に移行することもできますが、少し複雑な方法に思えます。

R セッションで Sys.timezone() を使用して GMT を使用するように強制できると思いますが、使用しないほうがよいと思います。他の提案はありますか?ありがとうございました。

4

1 に答える 1

5

ちょうど試して:

x <- chron(dates="05/12/15", times="12:30:45")
y<-as.POSIXct(x)
attr(y,"tzone")<-"GMT"
y
#[1] "2015-05-12 12:30:45 GMT"
于 2015-10-21T12:16:15.983 に答える