在java中如何处理日期格式问题
Posted 爪哇小楠
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在java中如何处理日期格式问题相关的知识,希望对你有一定的参考价值。
1.最简洁的办法就是在对应的对象中加注解
如下一个例子:
@DateTimeFormat(pattern="yyyy-MM-dd")
@JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
private Date valueDate;
注意:timezone = "GMT+8"一定要加,不然会少一天
如果你的字段是一个日期格式,就如上定义,但是如果使用的是Mybatis,在MyBatis中一定不能写类型为timestamp,否则会报错
正确的写法如下:
属性列
<resultMap id="BaseResultMap" type="com.cn.demo.domain.Card" >
<result column="createTime" property="createtime" />
</resultMap>
错误的写法如下:
<resultMap id="BaseResultMap" type="com.cn.demo.domain.Card" >
<result column="createTime" property="createtime" jdbcType="TIMESTAMP" />
</resultMap>
总之就是涉及到到日期格式的地方不能加 jdbcType="TIMESTAMP"
注意:在mysql数据库中date类型只显示年月日,datetime类型显示的是年月日时分秒
2.在Controller层进行日期转换的时候,代码如下:
Date date = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).parse(valueDate);
其中valueDate是传进来的数据,但是传进来的字符串格式要和"yyyy-MM-dd"的格式相同,不然会报异常
以上是关于在java中如何处理日期格式问题的主要内容,如果未能解决你的问题,请参考以下文章