自分のプログラムにIntelliJを使用しています(私はKotlinとJava言語を使用しています)、データベースからのクエリを使用してレポートを取得しようとしています。私は結果を見るために郵便番号を使用しています)。私のコードをデバッグし、クエリの結果を調べると、タイムゾーンは私が望む方法のようにOKです - それは偶然のショー-7(私とUTCとの違いの時間)ですが、ブラウザ(Postmanたとえば、 "date": "2017-10-12T15:00:33.000 + 0007")ではなく、UTC時刻と+0000を表示します(「日付」:「2017-10-12T15:00:33.000 + 0000」)。 私は多くのオプションを試して、解決策を見つけるのに6時間ほどかかりましたが、何も効果がありません。 助けてくれてありがとうTimeZoneが表示されない
答えて
PostgresはTIMESTAMP WITH TIME ZONE
をUTCに保存し、それを使って渡されたゾーンを捨てて調整します。これはPostgres固有の動作であることに注意してください。データベースは日時の処理が大きく異なり、SQL仕様はほとんど問題に触れません。
Marloweがコメントしたように、データ入力から取得したタイムゾーンを覚えておく必要がある場合は、別の列に保存する必要があります。 America/Montreal
,Africa/Casablanca
、またはPacific/Auckland
のようなcontinent/region
の形式でproper time zone nameをキャプチャします。 EST
またはIST
のような3〜4文字の略語は、ではなく、で、標準化されておらず、ユニークではありません(!)ので絶対に使用しないでください。
➠こんな感じです:pgAdminなどの対話型ツールのPostgresセッションは、UTC値を取得した後にデフォルトのタイムゾーンを動的に適用します。善意ではあるが、これは私の意見では、記憶されたデータの真の性質を覆い隠すので、反機能である。
最新のjava.timeクラスを使用してUTCで値を取得します。
Instant instant = myResultSet.getObject(… , Instant.class) ;
希望のタイムゾーンに調整します。
ZoneId z = ZoneId.of("Asia/Kolkata") ;
ZonedDateTime zdt = instant.atZone(z) ;
DateTimeFormatter
クラスを使用してWebブラウザ用の文字列を生成します。そこに自動ローカライゼーション機能があることに注意してください。
これはすべてStack Overflowで何度もカバーされています。詳細については、検索をクリックしてください。
ソリューション:ので、私はここで私の問題への解決策が見つかりました:まもなくで Overriding BeanPropertyRowMapper to Support JodaTime DateTime
を私はジョダの日時にそれを変更した結果を包んだので、タイムスタンプの種類は、タイムゾーンとうまく動作しません。衣装を着たBeanによる質問(投稿したリンクから)
- 1. フィルタリングリスト表示が表示されない
- 2. カルーセル表示が表示されない
- 3. PHP TimeZoneにより、date()が2倍の速さで表示されます
- 4. ISO8601 DateTimeローカルユーザーに表示される文字列timezone
- 5. エラーが表示されずにXShmGetImageが表示されない
- 6. マットテーブルにエラーが表示され、値が表示されない
- 7. コンボボックスが表示されない項目が表示される
- 8. jeditシステムトレイが表示されない/ jeditウィンドウが表示されない
- 9. 私のリストが表示されないダイアログが表示されない
- 10. 表示された値(DOM)が表示されない理由
- 11. 地域に表示されないビューが表示される
- 12. IQkeyboardManagerライブラリで表示されないボタンが表示される
- 13. Googleマップでエラーが表示されず、表示されない
- 14. ノックアウトobservableArray - 表示されていない項目が表示されない
- 15. MediaWiki - 表が表示されない
- 16. 表示結果に表示名が表示されない
- 17. AsyncTaskの後にProgressDialogが表示されない/表示されない
- 18. VBAフィルタに値が表示されない/表示されない場合
- 19. Images.xcassets - 一部のフォルダがxcodeに表示されない/表示されない
- 20. TortoiseSVNオーバーレイアイコンが表示されないときに表示されない
- 21. トランジション中にサブビューが表示されない/表示されない
- 22. Androidスクロール表示されないデバイスの画面が表示されない
- 23. キーボードが表示されているときにナビゲーションバーが表示されない
- 24. サイドメニューが表示されているページが正しく表示されない
- 25. シンプルなJFrameが表示されない
- 26. ストアドプロシージャが表示されないフィールドが
- 27. テキストが表示されない白い
- 28. URLバー、ナビゲーションバーなどが表示されないウェブページを表示
- 29. ハイパーリンクが表示されない適切なテキストを表示
- 30. Android - 複数の表示が表示されない(最初の表示のみが表示されます)
あなたの答えに感謝します。私はあなたのソリューションを使用することはできませんので、私はKotlinを使用しているので、私は前に何か似たようなものを試しましたが、成功しませんでした –
@ TalShaniそれは問題ではありません。 Kotlinは完全にJava相互運用が可能です。実際、JavaコードをIntelliJにコピー&ペーストすれば、それをKotlinに変換することができます。 – Moira
@ 1blustoneええ私は知っているが、それでもデータが正しいのは何故か私がタイムゾーンを修正した後でもうまくいきませんが、2度目にブラウザに行くはずです。 –