LGoodDatePicker 问题与 getDate()

LGoodDatePicker issues with getDate()

我将 LGoodDatePicker 与 Apache NetbeansIDE 12.2 (https://github.com/LGoodDatePicker/LGoodDatePicker) 一起使用,我需要以 YYYY-MM-DD 格式获取日期。我正在使用此代码:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String date = sdf.format(datePicker1.getDate());

但是我得到这个错误:

Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Cannot format given Object as a Date

有什么建议吗?谢谢。

这个DatePicker的方法getDate()returns一个java.time.LocalDate不是一个java.util.Date。这实际上是错误消息告诉您的内容,它期望 java.util.Date 但得到了其他东西。
这意味着您不应该尝试使用 java.text.SimpleDateFormat 对其进行格式化,请在此处使用 java.time.format.DateTimeFormatter

String date = datePicker1.getDate().format(DateTimeFormatter.ISO_LOCAL_DATE);

或者使用DateTimeFormatter的方法ofPattern(String pattern)定义一个自定义模式:

String date = datePicker1.getDate().format(DateTimeFormatter.ofPattern("uuuu-MM-dd");

在这种情况下,您甚至可以使用 LocalDatetoString() 方法来获得所需格式的 String

String date = datePicker1.getDate().toString();