【发布时间】:2016-06-26 16:30:04
【问题描述】:
我遇到了 SimpleDateFormat 的问题。我的 HTML 页面中有输入字段,类型 = 日期。我想将这些值保存到我的数据库中,它们应该保存为日期。我已经想出了如何做到这一点并且它有效。我遇到的唯一问题是日期在数据库中的表示方式。
我希望它们表示为 dd-MM-yyyy。假设我想在我的数据库中显示 01-06-2016。使用我拥有的代码执行此操作时,它给了我 0006-12-07。奇怪的是……当我将模式更改为 yyyy-MM-dd 时……它确实给了我模式所说的内容:2016-06-01。但是反过来就不行了。
String parameter = request.getParameter("instroomdatum");
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
try {
Date parsed = sdf.parse(parameter);
java.sql.Date sql = new java.sql.Date(parsed.getTime());
student.setInstroomdatum(sql);
} catch (ParseException ex) {
Logger.getLogger(StudentController.class.getName()).log(Level.SEVERE, null, ex);
}
谁能解释一下发生了什么以及如何解决这个问题?真的很烦。
编辑:我尝试使用简单的 PrintWriter-object 打印特定日期 01-06-2016 的参数值。它显示了我 2016-06-01,即使我在上面的代码中的模式设置为 dd-MM-yyyy。
【问题讨论】:
-
显示
parameter的值 -
这个值来自一个在 HTML 中具有日期类型的输入字段。这是一个可以选择日期的日历。
-
它是如何获得价值的并不重要。重要的是它的样子。显示实际样本值。没有它,没有人可以帮助你。
-
我会尝试用简单的 println 打印这个值并给你这个值。
-
好吧,我尝试使用 PrintWriter-object 打印此值,当使用 dd-MM-yyyy 时,它给了我这个日期 2016-06-01。我尝试选择的日期是 01-06-2016。
标签: java html mysql database simpledateformat