出生日期的Java数据类型是什么?

时间:2016-03-31 14:50:51

标签: java date type-conversion dob

我目前正在Android上制作应用,用户将在其中注册其详细信息。

在我的数据库中,我将DOB作为Date类型。

我会将Java中的DOB声明为String吗? DoubleInt?我很困惑如何解决这个问题,因此它满足了数据库的日期格式。

任何帮助都会很棒!

1 个答案:

答案 0 :(得分:10)

java.time.LocalDate(或类似org.joda.time.LocalDate的逻辑等效类)是表示Java代码中出生日期(DOB)的最佳方式。

请注意,DOB 未建模为java.sql.Datejava.util.Date:这些模型瞬间及时,而不是时区 - 独立日期。

虽然一个人显然是在某个时刻出生的,但这并不是我们在社会上如何在我们出生时报告的。考虑在不同时区同一时刻出生的两个孩子可能实际上有不同的出生日期 - 如果纽约市的孩子在4月1日凌晨2点出生,那么在洛杉矶出生的孩子将在3月31日晚上10点出生。

当孩子出生到其他城市(当然还有其他任何地方)时,他们的出生日期都没有变化。因此,如果您存储出生的即时,您还需要存储出生时区,以便正确地将该瞬间解释为出生的日期

但是存储即时时区是不方便的:不仅要存储更多数据,还要难以“通过眼睛”解释它(例如,很难说出什么日期{ {1}}指的是)。直接存储和解释年,月和日更容易:(1459438541000, America/Los_Angeles)