1

単純な日付形式 API を使用して以下の日付を解析しているときに、パーサー例外が発生します。

  String inputTimeStamp = "2012/07/19 09:49:00 - GMT -08:00";
  java.text.SimpleDateFormat dateformate= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  effDate = dateformate.parse(inputTimeStamp);

これについて私を助けてください。

4

4 に答える 4

2

別の形式の日付を解析しているので、それをに記述しましたSimpleDateFormateffDateがタイプであり、フォーマットされた日付を保持する必要がある場合String、との間にスペースを入れることは想定されていませんが、次のコードで解決できる可能性がGMTあり-08:00ます。

 String inputTimeStamp = "2012/07/19 09:49:00 - GMT -08:00";
 SimpleDateFormat inputDateformat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss - z"); 
 SimpleDateFormat dateformate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 effDate = dateformate.format(inputDateFormat.parse(inputTimeStamp));

特に日付の計算をしたい場合は、jodatimeも強くお勧めします。

 String inputTimeStamp = "2012/07/19 09:49:00 - GMT -08:00";
 DateTimeFormatter inputDateformat = DateTimeFormat.forPattern("yyyy/MM/dd HH:mm:ss - z Z"); 
 DateTimeFormatter dateformate = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
 effDate = dateformate.print(inputDateFormat.parseDateTime(inputTimeStamp));
于 2013-03-09T07:02:24.557 に答える
2

変化する

java.text.SimpleDateFormat dateformate=
    new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

java.text.SimpleDateFormat dateformate=
    new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");

inputTimeStamp にスラッシュ (/) があります

于 2013-03-09T06:56:33.703 に答える
0

パターンは次のようになります。yyyy/MM/dd HH:mm:ss - zここで、z は一般的なタイム ゾーンを表します。SimpleDateFormat .

于 2013-03-09T07:00:26.663 に答える
0

これを試して:

new SimpleDateFormat("yyyy/MM/dd HH:mm:ss - z");

このFYRを参照してください

于 2013-03-09T07:09:58.273 に答える