在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中如何处理日期格式问题的主要内容,如果未能解决你的问题,请参考以下文章

20 个案例教你在 Java 8 中如何处理日期和时间?

如何处理 JSONDecoder 中的空日期字符串

在存储日期和时间的应用程序中如何处理多个时区?

如何处理返回不同格式日期时间的 API 的 LocalDateTime? [复制]

如何处理python系列中的多种日期字符串格式

使用 date 命令生成 iso-8601 格式的时间序列,如何处理服务器系统日期原点偏移?