java date 不要时分秒_java 去掉Date类型 年月日 后面的时分秒

当使用Hibernate生成包含util.Date的MySQL表时,日期默认只包含年月日。在Struts2中,由于时间类型转换,Date会带上时分秒。解决方法包括:1) 使用jstl标签在页面显示时格式化;2) 通过SimpleDateFormat格式化Date对象;3) 继承Date类并重写toString方法。这些方法可以帮助去除Date后面的时分秒。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为用到这个东西了,随手查了下,发现解决方案有很多,作为一个菜鸟来说 有必要整理一下-、-

我用的是hibernate自己生成的表,所以util Date在mysql  只有年月日 而没有时分秒

然后我在Struts2  全局配置里设置了时间类型转换器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("yyyy-MM-dd HH:mm:ss");//在这里可以设置时间格式奥 去掉后面的尾巴就完了 sdf.format(new Data());  这个直接取值拿来用就行了

3.这个就比较麻烦了 不过也是一种方法哈

System.out.println(tempDate);调用的是Date.toString函数 你继承Date类,重写Date.toString函数也行

综上所述~ 爱! 哈比

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值