我正在将 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()
返回一个 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");
在这种情况下,您甚至可以使用 LocalDate
的 toString()
方法来获取所需的 String
格式:
String date = datePicker1.getDate().toString();
关于java - LGoodDatePicker 与 getDate() 相关的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66692801/