mybatis+springmvc时间格式化,jsp实现或者在ResponseBody日期类型Json处理

来源:互联网 发布:网络黑客头像 编辑:程序博客网 时间:2024/05/21 06:31

1.JSP对输出进行格式化

1.1、加入taglib


<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>


1.2、格式化输出

<fmt:formatDate value="${ent.inputTime}" pattern="yyyy-MM-dd HH:mm" />


2.ResponseBody日期类型Json处理 (参考:http://tramp-zzy.iteye.com/blog/2090330

方法一:全局处理 

mybatis.xml代码
<mvc:annotation-driven>      <!-- 处理responseBody 里面日期类型 -->          <mvc:message-converters>              <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">                  <property name="objectMapper">                      <bean class="com.fasterxml.jackson.databind.ObjectMapper">                          <property name="dateFormat">                              <bean class="java.text.SimpleDateFormat">                                  <constructor-arg type="java.lang.String" value="yyyy-MM-dd HH:mm:ss" />                              </bean>                          </property>                      </bean>                  </property>              </bean>          </mvc:message-converters>  </mvc:annotation-driven> 


方法二:局部注解处理 

Java代码:
import java.io.IOException;  import java.text.SimpleDateFormat;  import java.util.Date;    import com.fasterxml.jackson.core.JsonGenerator;  import com.fasterxml.jackson.core.JsonProcessingException;  import com.fasterxml.jackson.databind.JsonSerializer;  import com.fasterxml.jackson.databind.SerializerProvider;    /**   * ClassName:DateJsonSerializer <br/>   * Function: 日期类型格式化,格式化为:yyyy-MM-dd HH:mm:ss 格式. 用法如下:<br/>   * Reason:   @JsonSerialize(using=DateJsonSerializer.class)  *           @Column(name="BIRTHDAY")  *           public Date getBirthday() {  *              return birthday;  *           }  *          . <br/>   * Date:     2014年7月10日 下午1:26:08 <br/>   * @author   zhangzhaoyu   * @version   1.0  * @since    JDK 1.7   * @see         */  public class DateJsonSerializer extends JsonSerializer<Date> {        @Override      public void serialize(Date value, JsonGenerator jgen,              SerializerProvider provider) throws IOException,              JsonProcessingException {           SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");           String formattedDate = formatter.format(value);           jgen.writeString(formattedDate);      }    }  

方法三:jackson 注解处理 

Java代码:
@JsonIgnoreProperties           此注解是类注解,作用是json序列化时将java bean中的一些属性忽略掉,序列化和反序列化都受影响。    @JsonIgnore           此注解用于属性或者方法上(最好是属性上),作用和上面的@JsonIgnoreProperties一样。    @JsonFormat          此注解用于属性或者方法上(最好是属性上),可以方便的把Date类型直接转化为我们想要的模式,比如@JsonFormat(pattern = "yyyy-MM-dd HH-mm-ss")    @JsonSerialize     // 反序列化一个固定格式的Date        @JsonDeserialize(using = CustomDateDeserialize.class)        public void setBirthday(Date birthday) {            this.birthday = birthday;        }      // 序列化指定格式的double格式        @JsonSerialize(using = CustomDoubleSerialize.class)        public double getSalary() {            return salary;        }      public class CustomDateDeserialize extends JsonDeserializer<Date> {            private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");            @Override        public Date deserialize(JsonParser jp, DeserializationContext ctxt)                throws IOException, JsonProcessingException {                Date date = null;            try {                date = sdf.parse(jp.getText());            } catch (ParseException e) {                e.printStackTrace();            }            return date;        }    } 


mysql格式化

DATE_FORMAT(now(),'%Y-%m-%d %h:%i:%s')

date_format详解

格式

描述

%a

缩写星期名

%b

缩写月名

%c

月,数值

%D

带有英文前缀的月中的天

%d

月的天,数值(00-31)

%e

月的天,数值(0-31)

%f

微秒

%H

小时 (00-23)

%h

小时 (01-12)

%I

小时 (01-12)

%i

分钟,数值(00-59)

%j

年的天 (001-366)

%k

小时 (0-23)

%l

小时 (1-12)

%M

月名

%m

月,数值(00-12)

%p

AM 或 PM

%r

时间,12-小时(hh:mm:ss AM 或 PM)

%S

秒(00-59)

%s

秒(00-59)

%T

时间, 24-小时 (hh:mm:ss)

%U

周 (00-53) 星期日是一周的第一天

%u

周 (00-53) 星期一是一周的第一天

%V

周 (01-53) 星期日是一周的第一天,与 %X 使用

%v

周 (01-53) 星期一是一周的第一天,与 %x 使用

%W

星期名

%w

周的天 (0=星期日, 6=星期六)

%X

年,其中的星期日是周的第一天,4 位,与 %V 使用

%x

年,其中的星期一是周的第一天,4 位,与 %v 使用

%Y

年,4 位

%y

年,2 位


阅读全文
0 0
原创粉丝点击