Java 从Hibernate时间戳检索日期

Java 从Hibernate时间戳检索日期,java,hibernate,timestamp,Java,Hibernate,Timestamp,我有一个时间类型为Timestamp的字段,用于将日期和时间保存到数据库中 @Temporal(TemporalType.TIMESTAMP) @Column(name="date", nullable=false) private Date date; 但是当向用户显示值时,我只想显示日期部分和截断时间部分。我尝试了这个,但我得到了ParseException,可能是因为Hibernate时间戳的纳秒部分 SimplDateFormat sd = new SimpleDateFormat(

我有一个时间类型为Timestamp的字段,用于将日期和时间保存到数据库中

@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();
}

谢谢你的答复。。这并没有给我想要的
SimpleDateFormat sd=newsimpledateformat(“MM/dd/yyyy”);返回sd.parse(sd.format(created))导致2011年9月2日星期五11:12:34 EDT您不应该得到时间组件,但当您打印出日期时,它将以该格式显示。您正在尝试获取日期组件或其字符串表示形式吗?javadocs解释了如何使用日期和时间模式为日期和时间的任意组合指定格式字符串(带有示例)。