2010-11-22 25 views
2

文字列「Tue Nov 12 2010」があり、java.util.Dateオブジェクトで解析したいと思います。 私はそれは以下のような例外を与えている。このDateオブジェクトへの文字列の解析

DateFormat format = new SimpleDateFormat("dd/MM/yyyy"); 
Date date= format.parse("Tue Nov 12 2010"); 

のコードの下に書く:

java.text.ParseException: Unparseable date: "Sun Nov 21 2010"

はそれと間違っているものを得ていません?

+2

質問を入力したテキスト領域の右側には、[**書式設定の方法]というタイトルのボックスがあります。読む価値がある。私はあなたのためのコードの書式を修正しましたが、あなたは今、5つの質問をしてきました。 –

+2

指定した "dd/MM/yyyy"形式が "Tue Nov 12 2010"の日付と一致しないのはなぜですか? –

+0

答えが良かったらそれを受け入れるのが良いと考えられます。 @Alisonは、有益かつ迅速な答えを持っていました。 – Jim

答えて

1

する必要があります形式ではないので。
そのフォームの日付のみを解析します。私。 05/10/1989 フォーマットをより適切に変更する必要があります。

7

あなたのフォーマットが間違っている - あなたは形式dd/MM/yyyyを指定する場合は、対応する形式でフォーマットされる文字列を指定する必要があり、例えば(!) 21/11/2010。勿論

4

それはTue Nov 12 2010ため

形式はあなたが
新しいてSimpleDateFormat( "DD/MM/YYYY")を作成した日付形式EEE MMM dd yyyy

Have a look at docs

+1

リンクされているDocsから、その年の日の「D」と、その月の日の「d」です。また、「Y」もありません。 – codaddict

+0

@codaddictは私の間違いだった –

1

日付を解析するには、正しい形式を指定する必要があります。あなたによって与えるサンプル日付の形式は、日付の間違った形式を使用している"EEE MMM dd yyyy"

+0

+1私を訂正する:) –

0

だろう。あなたの文字列フォーマットの使用「EEE MMM ddとのYYYY」

2

に応じてそれを解析するには、コードを読んで、常識を使用することを学びます。

 
DateFormat format = new SimpleDateFormat("dd/MM/yyyy"); 
Date date= format.parse("Tue Nov 12 2010"); 

これは、指定されたフォーマットが解析された文字列と一致しないことを露骨に明らかです。隣り合った線の上にあり、互いに隣り合っています。それはそれより簡単ではありません。

プログラマーとして成功するには、このようなことが必要です。これを見ることができない場合は、問題を引き起こす2つの行が同じソースコードファイルでさえも同じような問題を見つける方法はありますか?

私の助言は、コードを読み取ってデバッグする方法を学習することには、若干の個人的な責任を負うことです。このようなものは、2行のコードが一致しないということをタイプすると、巨大な赤旗になるはずです。