Struts2类型转换对java.util.Date类的奇怪行为

时间:2014-05-19 10:17:14

标签: java mysql hibernate date struts2

我正在使用struts2 Framework和Hibernate ORM

我通过从数据库中获取值来初始化一个模型类对象。 模型类中有一个名为abc1的属性为java.util.Date的属性,该属性对应于一个名为abc2的字段,数据库中的数据类型为DATETIME

获取值格式数据库没有问题,但它会有所不同(附加额外的字符)。

例如 -

在数据库中,如果列abc2的值为2007-11-13 11:24:00

那么它的值将在2007-11-13 11:24:00.0(点零)中出现在模型类的abc1变量中

我已经通过代码调试,它显示了abc1变量的以下值

enter image description here

fasttime是以毫秒为单位的日期时间,但 cdate nanos 是什么?

是否存在编码问题?

2 个答案:

答案 0 :(得分:0)

这是一个扩展java.util.date

的java.sql.Timestamp对象

摘自apidoc关于cdate:

  

如果cdate为null,则fastTime表示以毫秒为单位的时间。如果   cdate.isNormalized()为true,然后fastTime和cdate同步。   否则,忽略fastTime,cdate表示时间。

nanos字段是基于毫秒的Date的额外补充,以使Timestamp更加精确。

答案 1 :(得分:0)

对于日期格式和样式,从数据库中获取日期之后,在打印或发送日期之前,您可以按照首选样式格式化它们并删除the .0 (dot zero) from the string.

Simple Date Format