【发布时间】:2014-03-20 15:10:35
【问题描述】:
我遇到了一个小问题,我在网上没有找到合适的解决方案,因为我的问题对于搜索引擎来说有点棘手。
关于休眠节省毫秒的话题很多。但我的问题是别的。
事实上,我有一个数据库,它保存我的日期是这样的:
2014-03-20 10:58:09
我使用 Hibernate 来取回我的日期,并将其显示在网页上。但是 Hibernate 检索的不止于此:它还检索 0 毫秒,如下所示:
2014-03-20 10:58:09.0
许多人似乎对此有疑问,但就我而言,我不想要此信息,我希望 Hibernate 检索日期没有此 .0 !
感谢您的帮助!
编辑和解决方案:
好的,所以我使用了一个小技巧。
在我使用 Hibernate 的特定对象中,我有这个方法:
public Date getModificationDate() {
return modificationDate;
}
我只是简单地创建另一个方法:
private static final SimpleDateFormat FMT = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
public String getModificationDateLabel() {
if (modificationDate != null) {
return FMT.format(modificationDate);
}
return null;
}
所以,当我在我的网页中显示(我使用 Velocity 模板)时,我只是遍历我的对象列表并显示标签:
#foreach( $object in $objects)
$!{object.modificationDateLabel}
#end
SimpleDateFormat 允许我删除 .0,并且通过创建一个新方法,我不会干扰使用 Hibernate 获取日期的行为。
感谢您的宝贵时间!
【问题讨论】:
-
你使用的是哪个休眠版本?
-
对
SimpleDateFormat使用不包括毫秒的格式。 -
你如何显示它?您需要在显示日期之前格式化您的日期,仅仅调用
toString不会让您有任何帮助。 -
我显示在网页中(使用 Velocity),但是当我检索我的数据时,它位于特定对象的列表中。我无法用 SimpleDateFormat 解析它。