使用Joda-time - Java以GMT格式保存日期

时间:2014-01-23 12:43:36

标签: java spring hibernate jsp

我使用以下代码从我的Spring MVC / Hibernate应用程序收集日期:

String startMembershipDate = request.getParameter("startmembershipdate");

我在我的实体

中对此字段使用以下字段定义
@Column(name="MEMBERSHIP_DATE", nullable=false, unique=false)
private Date membershipDate;

所以我想知道是否有人能够提供一个关于如何使用Joda-time将JSP中的接收日期转换为GMT格式的示例?

我还应该将字段定义从Date更改为DateTime吗?时间戳?

1 个答案:

答案 0 :(得分:2)

查看此问题如何在DateDateTime之间进行转换:Convert from java.util.date to JodaTime

此问题告诉您如何使用GMT格式化DateTimeJodaTime DateTime, ISO8601 GMT date format

如果需要,您可以将字段定义更改为DateTime。你只需要编写一个自定义的Hibernate映射器。我们在这里这样做并且它运行良好(特别是因为我们将日期保存为DECIMAL(16)所以我们不会因为奇怪的SQL DATE实现,驱动程序错误,......而得到愚蠢的错误。

java.sql.Timestamp是另一回事。它源于java.util.Date,只增加了纳秒的概念 - 这引入了一些你需要注意的新细微之处。在我的代码中,我远离它。

但除非你有充分的理由(比如发现你一直转换为DateTime),否则请不要理会。