2

これが私が現在抱えている問題です。ウェブページのテーブルから情報を取得するプログラムを書いています。最初の行の日付はたとえばです。「2011年9月21日」。

後続の行は、「2011年9月28日(2011-09-28)」の形式になります。

日付をサブストリングしようとしていますが、ストリングをサブストリングするたびに、解析不能な日付「2011年9月21日」が表示され続けます。最初の日付を部分文字列にしないと機能しますが、後続の日付はクラッシュします。最初の文字列を部分文字列にすると、それもクラッシュします。

String date = tableData.get(airDate).text();
int index = date.length();
if(date.contains("(")){
   index = date.indexOf((int)'(') - 1;
}
date = date.substring(0, index);
Date simpleDate = formatter.parse(date);

私のプログラムは完全に詰め込まれていて、理由はわかりません。これで、文字列をサブストリング化できなくなり、正しいフォーマットの日付を取得できます:(

4

2 に答える 2

2

試す

    Date d = new SimpleDateFormat("MMMM dd, yyyy", Locale.ENGLISH).parse("September 28, 2011 (2011-09-28");
    System.out.println(d);

プリント

Wed Sep 28 00:00:00 EEST 2011
于 2013-02-16T12:28:27.387 に答える
0

問題を見つけました。インターンシップで起こったことと似ていました。私が使用していたこのHTMLライブラリは、Javaの単純な日付形式および文字列操作と同じ名前空間を持っていました。簡単な修正は、必要なHTMLから情報を取得するためのファサードを作成し、標準の文字列として操作することでした。

于 2014-03-07T00:58:54.897 に答える