1

24/04/2012 の形式の文字列日付を、後で Oracle データベースに渡すことができる 24-Apr-12 の形式の日付変数に変換するにはどうすればよいでしょうか。

私はこれを試しましたが、文字列の日付は解析できないと言います:

DateFormat format = new SimpleDateFormat("dd-MMM-yy");
Date newDate = (Date) format.parse(date);
4

7 に答える 7

4

解析とフォーマットを混同していると思います。これを試してください:

String old_date = "24/04/2012";

DateFormat old_format = new SimpleDateFormat("dd/MM/yyyy");
Date newDate = (Date) old_format.parse(old_date);

DateFormat new_format = new SimpleDateFormat("dd-MMM-yy");
String date = new_format.format(newDate);

System.out.println(date);
于 2012-04-24T14:45:49.270 に答える
1

日付の形式は「dd/MM/yyyy」である必要があります

于 2012-04-24T14:44:04.190 に答える
1

あなたはこれを逆にやっています:

DateFormat format = new SimpleDateFormat("dd/MM/yyyy");
Date newDate = format.parse(date);

DateFormat formatOutput = new SimpleDateFormat("dd-MMM-yyyy");
String output = formatOutput.format(newDate);

しかし、日付を Oracle に渡す場合は、実際にはPreparedStatement

于 2012-04-24T14:46:33.447 に答える
0

java.sql.Date を使ってみませんか。

例えば:

Date newDate = new java.sql.Date(date.getTime());

したがって、日付の一般的な sql オブジェクトを指定できます。

于 2012-04-24T14:50:33.487 に答える
0

Java の Date クラスは非常に使いにくい場合が多いです。より優れたJoda Timeクラスの使用をお勧めします。

DateTimeFormatter oldFormat = DateTimeFormat.forPattern("dd/mm/yyyy");
DateTimeFormatter newFormat = DateTimeFormat.forPattern("dd-MMM-yy");
DateTime dateTime = oldFormat.parseDateTime("24/04/2012");
String newDate = newFormat.print(dateTime);
于 2012-04-24T14:51:03.027 に答える
0
SimpleDateFormat sdf= new SimpleDateFormat("dd-MM-yy");
DateTime  newDate = sdf.format(date);
于 2012-04-24T14:46:01.653 に答える
0

試すDateFormat format = new SimpleDateFormat("dd/MM/yyyy")

于 2012-04-24T14:46:34.683 に答える