javaはDateタイプを削除します。年月日の後の時刻を分秒します。

1292 ワード

これを使ったので、ついでに調べてみたら、解決策がたくさんあります。初心者として、整理する必要があります。
私はhibernateで自分で生成した表を使っていますので、util Dateはmysqlにあります。 年月日だけあって、時間がない。
そして私はStruts 2にいます グローバル設定には時間型変換器xwork-conversion.propertiesが設定されています。
このツールクラスには書式設定の時間書式がありません。
 
public class DateTypeConverter extends DefaultTypeConverter {
	@Override
	public Object convertValue(Map context, Object value,Class toType) {
		SimpleDateFormat  dateFormat= new SimpleDateFormat("yyyyMMdd");
		
		try {
			if(toType == Date.class){
				String[] params = (String[])value;
				return dateFormat.parse(params[0]);
			}else if(toType == String.class){
				Date date = (Date)value;
				return dateFormat.format(date);
			}
		} catch (ParseException e) {
			e.printStackTrace();
		}
		
		return null;
	}
データ変換の際に自動的に時間分秒が追加されます。
 
解決策は以下の通りです。
1.私が使っているjstlタグは直接ページに表示する時に作ります。 
(ラベルの導入)(timeはバックグラウンドから来たので、requestやsessionに置いてもいいです。)
これでいいです
2です。SimpleDateFormat sdf = new SimpleDateFormat("yyy-M-dd" HH:mm:ss")////ここで時間の書式を設定してもいいです。オーストリアは後ろの尾を取ればいいです。sdf.format(new) Data(); これは直接に値を取って使えばいいです。
 
3.これはちょっと面倒くさいですが、一つの方法ですね。
System.out.println(tempDate);Date.toStering関数を呼び出します。Dateクラスを引き継ぎ、Date.toStering関数を書き直してもいいです。