2012-02-17 6 views
2

文字列を解析しようとしていますが、正常に動作しますが、&で国際化を使用している場合は、java.lang.IllegalArgumentExceptionがスローされます。gwtで国際化中に文字列を解析する

私は文字列から日付を取得したいコードの平和です。

public static Date toDate(String date){ 
    DateTimeFormat format = DateTimeFormat.getFormat("MM/dd/yy h:mm:s a"); 
    return format.parseStrict(date); 
} 

「02/02/2012 10:10:25 AM」に変換しようとしています。

私を助けてください。

答えて

0

parse()代わりのparseStrict()を使用してみてください。 parse()を使用すると、日付が慎重に解析されるため、必要に応じて無効な日付が折り返されます。 parseStrict()の日付は厳密に解析されるため、無効な日付はIllegalArgumentExceptionとなります。あなたの日付に異なる形式を使用して参照してください。 MM/dd/yyyyしないMM/dd/yy

public Date parseStrict(java.lang.String text) throws java.lang.IllegalArgumentException 

に対応 02/02/2012テキストは日付値を生成するために解析します。テキストが空であるか、または解析結果がテキストのすべての文字である を消費しない場合、IllegalArgumentExceptionは にスローされます。日付は厳密に解析されるため、無効な の日付はIllegalArgumentExceptionになります。

+0

私はすでに' parse() 'を試していますが、毎回同じ例外がスローされます。私はあなたが 'MM/dd/yyyy'に変換するだけで済んだのですが、日付と時刻の両方が必要なので、例外をスローするよりも' MM/dd/yyyy hh:mm:ss a'を試してみてください。 –

+0

あなたの完全な例外を与える –

0

の代わりに、標準DateTimeformat使用com.google.gwt.i18n.client.DateTimeFormat

+0

私は既に 'com.google.gwt.i18n.client.DateTimeFormat'を使用しています –

関連する問題