2009-09-11 11 views
8

JavaScriptクライアントはいくつかの文字列を私のサーバーに送ります。そのうちの1つはJavaScript Dateオブジェクトの文字列表現の形をしています。Javaの解析JavaScriptの日付文字列

このJavaScript Dateオブジェクトには独自の書式があり、SimpleDateFormatterに問題が発生しているため、適切な変換を行うクラスがあるかどうかは不思議でした。

これは以下のようにJavaScriptの日付文字列がどのように見えるかです:静的にそれを維持、彼らは、スレッドセーフで不変ですので、あなたは1を作成することができ、そして:私は1つの主な理由のためにJoda Timeフォーマッタを好むTue Feb 12 2013 21:12:28 GMT+0100 (CET)個人的に

+0

SimpleDateFormatterの問題点は何ですか? –

+0

moment.jsを試してください。これらの厄介な問題をすべて解決してください。 –

答えて

11

ベストウェイJavaScriptで日付をシリアライズするにはtoUTCStringtoString()だけではありません)を使用します。 toUTCStringは、rfc 822の日付を(httpが使用するのと同じ形式で)生成します。次に、次のSimpleDateFormatパターンをjavaで解析するだけです。

new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.ENGLISH) 
+2

あなたが日付のプロデューサーを管理しておらず、 '.toUTCString()'を使用していない場合、この形式を使用できます: '' EE MMM dy H:m:s 'GMT'Z(zz ) " –

3

どんな心配もなくそれを再利用してください。ジョーダは時間帯などを簡単に指定することもできます。もちろん、彼らはJodaオブジェクトを作成することになります。これはIMOの別の利点です - 可能な限り、Javaの日付/時刻APIを明確にしようとします。

あなたが解析しようとしているフォーマットについて詳しく知りたいと思います。SimpleDateFormatterで何が起こっているのでしょうか。 (一般的に、「問題が発生していて問題を解決している」場合は、問題の内容を説明するのが理想的です。

関連する問題