我正在以这种方式使用 hibernate 将数据存储在 MySQL 数据库中。
@Column(name="CREATION_DATE")
private Date creation_date;
我使用 dd-mm-yyyy 格式输入日期:
String str_date = request.getParameter("document_date");
DateFormat df = new SimpleDateFormat("dd-mm-yyyy");
Date date = null;
try {
date = df.parse(str_date);
} catch (ParseException e1) {
System.out.println("Exception occurred in parsing date : "+e1);
}
但是当日期进入数据库时,它的格式完全不同:例如。如果输入的日期是 22/2/2015,那么存储的日期是 0022-01-03。而且我也无法阻止时间被保存在数据库中,即使我使用了 TemporalType.DATE。请帮忙,因为这占用了我太多时间!
最佳答案
来自 Mysql 文档:- Date format
The DATE type is used for values with a date part but no time part. MySQL retrieves and displays DATE values in 'YYYY-MM-DD' format. The supported range is '1000-01-01' to '9999-12-31'
此外,如果您还想在数据库中存储时间,请像下面这样定义您的 creation_date
变量。您将不得不使用 TIMESTAMP
。
@Column(name="CREATION_DATE")
@Temporal(TemporalType.TIMESTAMP)
private Date creation_date;
关于java - hibernate -以我想要的格式在mysql数据库中检索和保存日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28657397/