【发布时间】:2014-11-28 10:14:38
【问题描述】:
我为此苦苦挣扎了好几天。
我有一个日期字段,它给出了“yyyy-MM-dd”格式的日期。
我的对象有这样的字段
@Temporal(TemporalType.DATE)
private Date finishdate;
我在 UTC,这需要在世界各地工作,所以在 UTC-7 或 UTC+7
在数据库中,此值需要存储为 0 小时。
填写完finishdate后,格式给我时区,例如:
我想要 2014-10-01,零时、分和秒,在我捕捉到的不同时区:
2014-10-01 07:00:00:000 要么 2014-09-01 17:00:00:000
问题接缝是因为日期图书馆,我已经找到了 JODA 图书馆的解决方案,但我被告知不要使用它,我需要找到另一个解决方案。
因此,需要转换为 UTC 日期、所有日期或其他内容,但日期必须相同,例如 10 月 1 日。
有人经过吗?
【问题讨论】:
-
我总是将 joda 库用于所有与日期相关的字段。时区之间的转换很简单,我相信线程安全。此外,joda 格式化程序(与本机 java DateFormatter 不同)是线程安全的
-
所以老大允许你加Spring而不加Joda-Time?您需要向老板解释捆绑的日期时间课程有多糟糕,以及您对 Joda-Time 的需求有多大。 Joda-Time 被广泛使用、稳定且经久耐用。与 Java 8 捆绑在一起的新 java.time 包也很好,它受到 Joda-Time 的启发,但经过重新设计。 Joda-Time 和 java.time 都有各自的优势。我两个都用。