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

2 java date type-conversion dob

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

在我的数据库中,我将DOB作为一种Date类型.

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

任何帮助都会很棒!

And*_*ner 10

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

请注意,DOB 没有很好地建模为a java.sql.Date或a java.util.Date:这些模型时刻,而不是与时区无关的日期.

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

当孩子出生到另一个城市(当然还有其他任何地方)时,他们的出生日期都不会改变.因此,如果要存储瞬间诞生的,你还需要出生的时区存储,以便正确地解释那一瞬间的日期出生.

但是存储即时时区是不方便的:不仅要存储更多数据,而且难以"通过眼睛"解释它(例如,很难说出日期(1459438541000, America/Los_Angeles)指的是什么).直接存储和解释年,月和日更容易:(2016, 3, 31).

  • *我建议您*在Java代码中*将其表示为LocalDate。您可以保留它,但是很方便。 (2认同)