-1

jdk-1.6を使用しています。文字列"24-10-2012"の日付から日付(24-10-2012)を解析しようとしていますが、次のエラーが発生します。

java.text.ParseException: Unparseable date: "18-11-2012"
java.text.DateFormat.parse(DateFormat.java:354)

私はこのように解析しています:

SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
String currentDate = "24-10-2012";
 Date date = formatter.parse(currentDate);
4

6 に答える 6

3
SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
String currentDate = "24-10-2012";
System.out.println(formatter.parse(currentDate));

プリント

Wed Oct 24 00:00:00 CEST 2012

投稿したコードでは問題を再現できません。

私の仮説:あなたの例外は、あなたがエラーを非難しているコード以外のコードからスローされます。実際の原因を突き止めるために、スタックトレースを注意深く分析してみることができます。

于 2012-11-19T09:51:43.747 に答える
1

Javaの日付はフォーマットを保持しません。続きを読む...

于 2012-11-20T03:45:28.837 に答える
0

私が走るとき

SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
String currentDate = "24-10-2012";
Date date = formatter.parse(currentDate);
System.out.println(date);
System.out.println(formatter.format(date));

私は得る

Wed Oct 24 00:00:00 BST 2012
24-10-2012

思った通りです。問題が何であるかを明確にできますか?

于 2012-11-19T09:52:12.103 に答える
0

これは「dd-mm-yyyy」の形式で使用できます

    SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy"); 
    String currentDate = "24-10-2012";
    Date date = formatter.parse(currentDate);
    System.out.println(formatter.format(date));
于 2012-11-19T09:54:19.383 に答える
0
import java.util.Date;
import java.text.SimpleDateFormat;

public class SimpleFormatDate
{
  public static void main(String args[]){
  Date todaysDate = new java.util.Date();
  // Formatting date into  yyyy-MM-dd HH:mm:ss e.g 2008-10-10 11:21:10

  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  String formattedDate = formatter.format(todaysDate);
  System.out.println("Formatted date is ==>"+formattedDate);

  // Formatting date into  yyyy-MM-dd e.g 2008-10-10 
  formatter = new SimpleDateFormat("yyyy-MM-dd");
  formattedDate = formatter.format(todaysDate);
  System.out.println("Formatted date is ==>"+formattedDate);

  // Formatting date into  MM/dd/yyyy e.g 10/10/2008 
  formatter = new SimpleDateFormat("MM/dd/yyyy");
  formattedDate = formatter.format(todaysDate);
  System.out.println("Formatted date is ==>"+formattedDate);
  }
}

出力

Formatted date is ==>2008-10-10 13:03:54
Formatted date is ==>2008-10-10
Formatted date is ==>10/10/2008
于 2012-11-19T10:58:08.180 に答える
-1

ちょっと待ってください..uが正しい値を持っている場合、なぜuはそれを解析する必要があるのですか?とにかく、私はこれを使用します:

SimpleDateFormat oFormat = new SimpleDateFormat("yyyy-MM-dd");
String sDate = oFormat.format("24-10-2012");

2012-10-24のように表示されます。したがって、dd-MM-yyyyに解析したい場合は、フォーマットを必要なものに変更する必要があります。

NB:私の英語が悪い場合は申し訳ありません。:D

于 2012-11-19T09:56:07.337 に答える