0

この 2009-12-14 05:07:38Z のような XML ファイルで DateTime を受け取ります。

だから、私はそれが間違いだと思ったが、少しグーグルした後、私はこれを見つけた:

http://www.w3schools.com/Schema/schema_dtypes_date.asp

タイム ゾーン タイム ゾーンを指定するには、次のように、時刻の後ろに「Z」を追加して、UTC 時刻で時刻を入力します。

09:30:10Z

しかし、 XMLMapper のノードで DateTime を指定すると、日時が切り捨てられ、日付を取得するだけです。

もっとコーヒーが必要ですか?

これを管理する方法は何ですか?

ありがとう

4

1 に答える 1

6

ユーグ、

'Z' (ズールー語) タイム ゾーン表現は ISO 8601 に由来し、時刻値または日時値のいずれかに適用できます。この例の文字列は、日付 '2009-12-14' を表す 1 つの文字列、スペース区切り記号、およびタイム ゾーン インジケーター '05:07:38Z' で時刻を表す 2 番目の文字列で構成されています。結合された日付と時刻の表現が必要な場合は、間にあるスペースを「T」に置き換える必要があります。つまり、「2009-12-14T05:07:38Z」です。

XMLMapperは詳しくないのですが、ISO 8601に従って正しく文字列を解釈し、スペースまでの部分だけ処理しているようです。文字列の時間部分を個別に処理してそれらを結合するか、処理する前に ' ' を 'T' に置き換えるか、この (あまりにも一般的な) 粗悪な表現を受け入れるために何かをサブクラス化することさえできるかもしれません...

マックス

于 2010-02-15T16:40:33.703 に答える