方法:sdf.parse(dateStr)メソッドが返すDateタイプ時間データ:Fri May 10 00:00:00 CST 2019から:yyyy-MM-dd形式のDateタイプデータへ
1267 ワード
背景:
まず、Dateタイプでyyyy-mm-dd形式の時間データが必要です.次は問題の発生と解決方法の詳細です.
データベースにはdateタイプの時間データが保存されています(フォーマットはyyyy-MM-dd、例:2019-05-10)
JAvaバックグラウンドでは、この時間データを検出し、Java.Util.Dateタイプで保存されたbeanオブジェクトキャッシュに捨て、フロントに捨てる必要があります.
しかし、バックグラウンドでデータベースから取り出した時間データをbeanに捨てて保存したデータは、2019-05-10 00:00:00:00:00:00:00である.
それからSimpleDateFormatでフォーマットしたいと思います.
しかし、ここでSimpleDateFormatのparseメソッドで得られたデータは、Fri May 10 00:00:00 CST 2019
フロントに捨てると見栄えが悪く、ニーズに合わない.
考え方:
まずjavaをutil.Dateタイプの時間データは要求通りにフォーマットされ、再びjavaに移行する.util.Dateタイプ.
フォーマットしたjavaをutil.Dateタイプの時間データをjavaに変換する.sql.Dateクラス、いいですよ!
完全な解決コード:
まず、Dateタイプでyyyy-mm-dd形式の時間データが必要です.次は問題の発生と解決方法の詳細です.
データベースにはdateタイプの時間データが保存されています(フォーマットはyyyy-MM-dd、例:2019-05-10)
JAvaバックグラウンドでは、この時間データを検出し、Java.Util.Dateタイプで保存されたbeanオブジェクトキャッシュに捨て、フロントに捨てる必要があります.
しかし、バックグラウンドでデータベースから取り出した時間データをbeanに捨てて保存したデータは、2019-05-10 00:00:00:00:00:00:00である.
それからSimpleDateFormatでフォーマットしたいと思います.
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String a= sdf.format(date);
Date b =sdf.parse(a);
しかし、ここでSimpleDateFormatのparseメソッドで得られたデータは、Fri May 10 00:00:00 CST 2019
フロントに捨てると見栄えが悪く、ニーズに合わない.
考え方:
まずjavaをutil.Dateタイプの時間データは要求通りにフォーマットされ、再びjavaに移行する.util.Dateタイプ.
フォーマットしたjavaをutil.Dateタイプの時間データをjavaに変換する.sql.Dateクラス、いいですよ!
完全な解決コード:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); //
try {
Date date_sj = po.getSj(); // Date
String str_sj= sdf.format(date_sj ); // yyyy-MM-dd
Date new_date_sj =sdf.parse(str_sj); //parse Date
// java.sql.Date : java.util.Date
java.sql.Date result_sj = new java.sql.Date(new_date_sj.getTime());
} catch (ParseException e) {
e.printStackTrace();
}