java 去掉Date类型 年月日 后面的时分秒
因为用到这个东西了,随手查了下,发现解决方案有很多,作为一个菜鸟来说 有必要整理一下-、-我用的是hibernate自己生成的表,所以util Date在mysql 只有年月日 而没有时分秒然后我在Struts2 全局配置里设置了时间类型转换器xwork-conversion.properties在这个工具类中没有格式化时间格式: public class DateTyp...
因为用到这个东西了,随手查了下,发现解决方案有很多,作为一个菜鸟来说 有必要整理一下-、-
我用的是hibernate自己生成的表,所以util Date在mysql 只有年月日 而没有时分秒
然后我在Struts2 全局配置里设置了时间类型转换器xwork-conversion.properties
在这个工具类中没有格式化时间格式:
public class DateTypeConverter extends DefaultTypeConverter {
@Override
public Object convertValue(Map<String, Object> 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标签 直接在页面显示的时候搞下
(标签的引入)
<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
(time是后台传过来的,你放到request或者session都可以)
<fmt:formatDate value="${time}" pattern="yyyy-MM-dd"/>
这样就好了
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函数也行
更多推荐
所有评论(0)