【发布时间】:2011-07-20 10:48:18
【问题描述】:
我正在使用来自here 的JDateChooser
但是,在控制台中显示日期时,我无法检索使用方法 setDateFormatString 设置的日期格式。
第一个标签显示从JDateChooser 检索的实际日期,而第二个标签显示我设置的格式。当我从JDateChooser 中选择日期时,我得到的日期为22-07-2011,如图所示。但是当我使用getDate 方法时,它会给我Fri Jul 22 00:00:00 GMT+05:30 2011 的日期。我只想要22-07-2011。
这是我的代码。我正在使用 Netbeans IDE 7.0
public JDateChooser() {
initComponents();
dateChooser.setDateFormatString("dd-MM-yyyy");
}
private void btnDisplayDateActionPerformed(java.awt.event.ActionEvent evt) {
String dateFromDateChooser = dateChooser.getDate().toString();
lblDate.setText(dateFromDateChooser);
lblDateFormat.setText(dateChooser.getDateFormatString().toString());
System.out.println(dateFromDateChooser);
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
new JDateChooser().setVisible(true);
}
});
}
【问题讨论】:
-
toString()始终以您在上面看到的格式返回日期。您将在 DateChooser 中设置的格式(即 INPUT 格式)与您想要输出到控制台的格式混淆了。你从没有内部格式的 DateChooser 中得到一个Date对象。如果要将其打印出来,则必须将日期格式化为字符串。下面的答案告诉你如何做。
标签: java swing netbeans datepicker jcalendar