无法从日期选择器组合获取日期



我正试图从DateChooserCombo获取日期,如下所示

SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-DD");
String date = sdf.format(dateChooser.getDate());

但是方法getDate()给了我错误(非法的前向引用)。我也尝试过getSelectedDate(),但它是一样的。我能做什么?

无论如何,我使用Apache Netbeans 12.1和日期选择器应该是这个:https://github.com/vadimig/jdatechooser

谢谢。

我从你的问题中提供的链接下载了JDateChooser代码。没有datechooser.beans.DateChooserCombo类中的getDate()方法。有一个getSelectedDate()方法返回一个java.util.Calendar类的实例。

另外,根据java.text.SimpleDateFormat类的文档,模式YYYY-MM-DD是一个有效的模式,但我不认为这是你想要的模式。D表示一年中的天,这意味着2月27日是一年中的第58天。您可能需要d。类似地,Y表示Week year,而您可能想要y

因此,为了获得用户从DateChooserCombo中选择的日期的字符串表示形式,您可能需要以下代码:
DateChooserCombo dcc = new DateChooserCombo(); // or however you create and configure it
Calendar cal = dcc.getSelectedDate();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String date = sdf.format(cal.getTime());

顺便说一下,JDateChooser的发展似乎在七年前就停止了。也许可以考虑使用JavaFX,它有一个DatePicker组件,可以与Java的日期时间API一起工作。

最新更新