【发布时间】:2021-05-01 05:46:56
【问题描述】:
我是JFrame 的新手。我刚开始学习如何创建一个 Java 项目。我创建了一个输入字段作为日期并插入了DateChooseCombo。我有 2 个问题。
- 当我运行应用程序时,日历中的日期是不可见的,但它会显示在框中选择的日期。
- 当我提交表单时,它给出了一个错误
"Cannot format given Object as a Date"
日期代码如下:
SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy");
String addDate = dateFormat.format(txt_AddDate.getSelectedDate());
ps.setString(3 ,addDate);
使用的日期格式是04/30/2021。
谁能帮我解决这两个问题?
【问题讨论】:
-
如果您发布了minimal reproducible example,我们可以将其复制到我们的 IDE 中并进行测试,那么您更有可能获得帮助。没有看到代码,我们无法判断你做了什么。
-
IDE 与问题无关(除非代码在另一个 IDE 中运行正常)。不要标记它或在标题中提及它。
-
如果日期格式是 04/30/21,为什么要指定格式 MM/dd/yyyy,即 04/30/2021?
-
两个建议:(1)不要使用
SimpleDateFormat和Date。这些类设计不佳且早已过时,尤其是前者,尤其是出了名的麻烦。而是使用来自java.time, the modern Java date and time API 的LocalDate。存在支持LocalDate和 Swing的日期选择器。 (2) 不要将选定的日期作为字符串传递给准备好的语句。通过LocalDate。见Insert & fetch …。
标签: java swing date simpledateformat jdatechooser