在Java应用程序中管理时间的最佳方法是什么?
因此,我正在使用休眠方式,并与一个用于管理时间的应用程序一起使用。
在24小时制中处理时间的最佳方法是什么?
我无需在此应用程序开始时担心TimeZone问题,但是最好确保在开始时就内置了此功能。
我也使用冬眠,就像一个fyi
解决方案
将它们存储为长ts = System.currentTimeMillis()。
该格式实际上是TimeZone安全的,因为它以UTC返回时间。
好吧,如果我们只需要时间部分,我不知道Hib中的内置类型,但是编写我们自己的类型Time24是微不足道的-只需实现org.hibernate.UserType或者org.hibernate.CompositeUserType( store = nullSafeSet方法)。
参见http://docs.jboss.org/hibernate/core/3.3/reference/en/html/mapping.html#mapping-types-custom
但是无论如何,我仍然会节省绝对的时间。将来可能会有所帮助。
P.S.这就是假设出于某种原因毫无疑问地存储Date的全部方法。实际上,Date中的TimeZone有时会妨碍我们。 ;)
使用java.util.Date有什么问题吗?
应该使用java.util.Date
;不长(绝对不是"日历")。
如果我们正在使用注释,请确保使用@ Temporal
我建议我们考虑使用Joda,http://joda-time.sourceforge.net/,它提供了比核心Date和Calendar实现更为直观和可控制的时间处理功能。 JSR 310实际上是在Java 7中包含新时间API的主张,它将主要基于Joda。 Joda还提供了与时区相关的时间处理和与时区无关的时间处理,从而减轻了处理间隔时的困难。
我最近还发现了另一个图书馆,它似乎是对JODA的回应。
http://www.date4j.net/
优点列在项目主页上。