5
DateFormat formatter = new SimpleDateFormat("MM/dd/yyyy' 'HH:mm:ss");
Date d = (Date)formatter.parse(dateTime);
System.out.println("date in controller "+d);

出力は次のようになります

コントローラの日付 Mon Dec 31 16:04:57 IST 2012

日付をMM/dd/yyyy HH:mm:ssフォーマットで出力する方法を提案してください。datetime出力をmysql dbのフィールドに保存するには、文字列ではなく日付形式で出力する必要があります

4

5 に答える 5

2
Need the output in date format and not as string so as to store the output in datetime field in mysql db

ステートメントの後

Date d = (Date)formatter.parse(dateTime);
java.sql.Date sqldate = new java.sql.Date(d.getTime())

java.util.Dateオブジェクトを取得し、それをmysql DB(列タイプ:datetime)にそのまま保存できます。

ただし、印刷する場合d、デフォルトで.toString()実装になります。Date @のような出力を期待していると思いますが、toStringはユーザーが読み取り可能な形式で出力されるため、混乱が生じます。

于 2012-12-31T12:54:41.460 に答える
1

dクラスのオブジェクトを使用しているDateため、そのtoStringメソッドが呼び出され、出力がMon Dec 31 16:04:57 IST 2012.

で指定した形式で表示したい場合は、SimpleDateFormat次を使用してみてください。

DateFormat formatter = new SimpleDateFormat("MM/dd/yyyy' 'HH:mm:ss");
Date d = (Date)formatter.parse(dateTime);
System.out.println("date in controller "+ formatter.format(d));
于 2012-12-31T12:27:09.490 に答える
1

format-string で単一引用符 (') が使用されている理由がわかりません。また、キャッチする必要がありますParseException

DateFormat formatter = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
Date d = new Date();
try {
    d = (Date)formatter.parse("12/31/2012 12:13:14");
} catch(ParseException pex) { System.out.println(pex.getMessage()); }
// convert the date into java.sql.Date
java.sql.Date sqldate = new java.sql.Date(d.getTime());
// then put it in the database, something like this:
//resultSet.updateDate("myDateTimeField", sqldate);
于 2012-12-31T12:34:48.720 に答える
0
SimpleDateFormat df = new SimpleDateFormat("MM/dd/yyyy' 'HH:mm:ss");
System.out.println("date in controller"+ df.format(d));
于 2012-12-31T12:29:30.810 に答える
0

parse の代わりに format を使用してみてください。

Date date = new Date();
String DATE_FORMAT = "MM/dd/yyyy";      
SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT);        
System.out.println("Today is " + sdf.format(date) );
于 2012-12-31T12:34:12.747 に答える