1

Oracleからにデータを読み込むことがよくありますR。一部のテーブルの形式を回避するために、SQL ステートメントで TIMESTAMP列を文字列として読み取ります。TO_CHAR

ただし、文字列に保持されているデータを、R が利用できる日付 + 時刻形式に変換したいと考えています。残念ながら、特に AM/PM コンポーネントを考慮すると、これを行う最善の方法についてはわかりません。日付を削除するのは簡単ですが、各レコードの時刻部分を保持する方法がわかりません。

以下にいくつかのデータ レコードを示します。

c("31-JUL-12 10.08.35.432 AM", "31-JUL-12 08.53.18.316 AM", "18-JUL-12 01.17.52.939 PM", 
"13-AUG-12 05.34.11.405 PM", "15-AUG-12 02.04.31.505 PM", "21-AUG-12 09.10.03.976 AM"
)

1 つの注意: これらのデータはタイムゾーン EST です。

どんな助けでも大歓迎です!

4

1 に答える 1

6

日付/時刻を頻繁に扱う場合は、?strptime

> strptime(oracle, format='%d-%b-%y %I.%M.%OS %p', tz='America/New_York')
[1] "2012-07-31 10:08:35.432 EDT" "2012-07-31 08:53:18.316 EDT" "2012-07-18 13:17:52.939 EDT" "2012-08-13 17:34:11.405 EDT" "2012-08-15 14:04:31.505 EDT" "2012-08-21 09:10:03.976 EDT"

「EST」とは、ニューヨーク州ニューヨークの東部時間を意味していると思い込んでいたことに注意してください。からhelp(timezone):

これらの指定の一部は、あなたの考えとは異なる場合があることに注意してください。特に、EST はカナダで使用される夏時間なしのタイム ゾーンであり、EST5EDT や (オーストラリアの) 東部標準時ではありません。

于 2012-10-10T18:13:02.677 に答える