java - 在 Java 应用程序中管理时间的最佳方法是什么?

标签 java hibernate

所以我正在使用 hibernate 并使用管理时间的应用程序。 处理 24 小时制时间的最佳方法是什么?

我不需要在此应用程序开始时担心时区问题,但最好确保在开始时内置此功能。

我也在使用hibernate,仅供引用

最佳答案

将它们存储为 long ts = System.currentTimeMillis()。 该格式实际上是时区安全的,因为它返回 UTC 时间。

如果您只需要时间部分,那么,我不知道 Hib 中的内置类型,但是编写您自己的类型 Time24 很简单——只需实现 org.hibernate.UserType 或 org.hibernate.CompositeUserType (其中的 load=nullSafeGet 和 store=nullSafeSet 方法)。

参见http://docs.jboss.org/hibernate/core/3.3/reference/en/html/mapping.html#mapping-types-custom

但无论如何我仍然可以节省绝对时间。将来可能会有所帮助。

附注这都是假设由于某种原因存储日期是不可能的。确实,日期中的时区有时会造成妨碍。 ;)

关于java - 在 Java 应用程序中管理时间的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/124299/

相关文章:

java - Spring 上下文中 JPA 和 Hibernate 与 Mysql 的映射 : Can't save Java Set fields into database

java - Android:更改 ImageView 大小不起作用

java - JOOQ 使用 Oracle 11g 批量更新日期

java - 使用 Super CSV 自定义 bean 实例化

java - Hibernate更新记录并实现监听器: getting only required attribute values for event. getOldState()

java - Criteria查询月份和年份过滤器

java - AES 加密的 88 字节输出

java - System.out.println 和 System.err.println 乱序

spring - @PostConstruct 中没有 session hibernate

java - 在 Spring applicationContext.xml 中使用 P6Spy 和数据源