java - 立即获取日期和时间
问题描述
我正在使用 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);
}
问题是这会返回一个字符串,我需要一个日期。
@Temporal(TemporalType.TIMESTAMP)
private Date creationDate;
我该如何完成这项工作,以便我可以完全保存日期和时间?
我知道一个简单的解决方案是将creationDate 声明为String。这太糟糕了吗?
解决方案
你的问题的前提有问题。理想情况下,您当前的时间戳将存储在 SQL 数据库中,在某种日期列中,而不是作为文本。由于您使用的是由 JDBC 支持的 JPA,因此您应该只插入一个日期类型。所以,类似下面的东西应该可以工作:
Timestamp timestamp = new Timestamp(System.currentTimeMillis());
// or maybe just
Date now = new Date();
然后,让 JPA 担心如何将当前时间戳记入您的数据库表中。如果您真的需要按所示格式化您的时间戳,那么请在您的 Java 代码中的某个地方担心这一点。