0

解決できないタイムゾーンに関連する問題があります。ここにいる誰かが私に手を貸してくれるかもしれません。シナリオを説明しようとします:

私は2つのサーバーを持っています:

  • Windows Server 2008: これは、Apache Tomcat 6.29 上で Web サービスを実行しているアプリケーション サーバーです。インストールされている JVM は 1.6_20 です
  • Linux Red Hat Enterprise: これは、Oracle データベース サーバー 11.1.0.6.0 をインストールした DB サーバーです。

両方のサーバーのタイムゾーンは UTC+2 (CAIRO) で、同じ時刻を表示します。一方、Windows サーバーで実行されている Web サービスは、Java と Apache CXF (JAX-WS + JAXB) で開発されています。WS によって返される日付と時刻はすべて DB から取得され、注釈を使用して日付を XML 形式にマーシャリングします。WS 応答の例:

    @XmlSchemaType(name = "date")
    protected Date birthDate;
    @XmlSchemaType(name = "dateTime")
    protected Date activationDate;

私が抱えている問題は、これらの日付の一部が WS によってタイムゾーン +02:00 で返され、他の日付がタイムゾーン +03:00 で返され、説明が見つからないことです。

タイムゾーンがOSから適切な値を取得するJavaによって設定されていることを知っている限り、わかりませんが、Oracleは日付のタイムゾーンを保存していないと思います。間違っている場合は修正してください。したがって、私の理解では、すべての日付は同じタイムゾーンである必要があります。

何か案が?前もって感謝します

4

1 に答える 1

0

オラクルにタイムゾーンを保存させることができます。これはここでは行いませんが、可能です。

これらの 2 つのリンクが役立つ場合があります。 ローカル タイム ゾーンNLS_TIMESTAMP_FORMATを含む TIMESTAMP

于 2012-06-06T15:48:05.617 に答える