1

所以,基本上我有一个 JPA + Spring Data + Hibernate 应用程序,我在其中存储了一个日期和时间对象。

假设我们有以下场景:

这是一个存储“签到”数据的服务器——就像一个签到服务的位置存储库,即 Foursquare。

来自此存储库服务的数据用于 REST API,而后者又由 Android/iOS/etc 客户端使用。

现在,对于除纬度/经度、用户 ID 等之外的每个签到,我都有一个签到时的时间戳。

我应该如何存储这个时间戳?我应该有 java.util.Date 对象还是 Joda Time 对象?我应该保留时区数据还是在持久化之前将其从时间戳中删除并为此使用另一个 TimeZone 字段?

4

1 回答 1

1

真正重要的是,当您通过线路发送数据时,它会以通用格式序列化。现在最普遍的格式是ISO8601

由于这是在特定位置签到,因此最合适的形式是带有偏移量的本地日期/时间。在 ISO8601 格式中,它看起来像:

2012-12-01T12:34:56-0700

我不是 Java 程序员,但我相信 JodaTime 对此DateTime有最正确的实现。

于 2013-03-04T16:07:05.317 回答