我有一个时间类型为时间戳的字段,用于将日期和时间保存到数据库中。
@Temporal(TemporalType.TIMESTAMP)
@Column(name="date", nullable=false)
private Date date;
但是当向用户显示值时,我只想显示日期部分和截断时间部分。我尝试了这个,但我得到 ParseException 可能是因为 Hibernate 时间戳的纳秒部分。
SimplDateFormat sd = new SimpleDateFormat("MM/dd/yyyy");
return sd.parse(date.toString());
那么如何从 Hibernate 时间戳中检索日期呢?谢谢
最佳答案
只需格式化日期对象即可。 toString
方法不能保证为您提供可以解析的格式的字符串。
String dateStr = sd.format(date);
这将为您提供 MM/dd/yyyy 格式的日期字符串,然后您可以将其转换回日期。
Date fancyNancy = sd.parse(dateStr);
<小时/>
* 编辑*
运行此代码并验证它是否打印出日、月和年,而没有时间。
try {
Date d = new Date();
SimpleDateFormat df = new SimpleDateFormat("MM/dd/yyyy");
System.out.println("Original Date: " + d);
System.out.println("Formatted Date: " + df.parse(df.format(d)));
} catch (Exception e) {
e.printStackTrace();
}
关于java - 从 Hibernate 时间戳检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7536479/