私はタイムゾーンで日付を定義しましたが、scales
パッケージdate_format
を使用してプリントすると、自分の時間がUTCで表示されます。date_format timezone strangeness
> library(scales)
> st <- as.POSIXct("2015-10-31 00:00:00",tz="US/Pacific")
> st
[1] "2015-10-31 PDT"
> fmt <- date_format("%Y-%m-%d %R %Z")
> fmt(st)
[1] "2015-10-31 07:00 UTC"
興味深いことに、この作品(そうPOSIXct
は、タイムゾーンを理解しているようです) - しかし、私のフォーマットを超える十分な制御を与えるものではありません:
> format(st,usetz=T)
[1] "2015-10-31 PDT"
この信頼性の欠如は、?date_format
のヘルプでを示唆されています
割り当て時間が ゾーンのオブジェクトを使用して%zまたは%Zを出力に使用すると、そのタイムゾーンの値を使用しようとしています - bそれは が成功するとは限りません。
だから私の質問は、どのように私はそれが成功するを作るんですか?
回避策を提案するとうまくいきますが、アップホーツに参加する可能性がありますが、この問題のポイントは、date_format
で起こっていることについての洞察を得たいということです。
3文字のタイムゾーン頭字語は*標準化されていないので避けてください。 PDTは、異なるロケールとは異なることを意味する場合があります。 * strange *は '' 00:00:00 + 07:00Z'の代わりに '' PDT''を返すというものです。 Rのローカリゼーションはそれほど一貫性がありません。この場合、 'st'はカスタムフォーマットを使用しました。 *特定の*形式で日付を表示する場合は、書式文字列で明示的に定義します。この場合、返信したい形式は何ですか? –
3文字のタイムゾーンは避けてください。私はそれらを使用せず、 'date_format'と' format'が行いました。例が示すように。 –
返される形式は何ですか? –