立即获取日期和时间

时间:2018-05-16 13:59:20

标签: java datetime jpa

我使用的是JPA,我希望以这种格式存储日期dd/MM/yyyy HH:mm:ss

所以我创建了一个函数

public static String getNowDate() {
    Date date = new Date();
    final DateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");

    return sdf.format(date);
}

问题是这会返回一个String,我需要一个日期。

@Temporal(TemporalType.TIMESTAMP)
private Date creationDate;

如何完成这项工作,以便我可以完全保存日期和时间?

我知道一个简单的解决方案是将creationDate声明为String。这太糟糕了吗?

1 个答案:

答案 0 :(得分:6)

您的问题的前提是有问题的。理想情况下,您当前的时间戳将存储在SQL数据库中,在某种日期列中,而不是文本中。由于您使用的是由JDBC支持的JPA,因此您应该只插入日期类型。因此,类似下面的内容应该有效:

Timestamp timestamp = new Timestamp(System.currentTimeMillis());
// or maybe just
Date now = new Date();

然后,让JPA担心如何将当前时间戳列入数据库表。如果您确实需要格式化您的时间戳,如图所示,那么请在您的Java代码中担心这一点。