我正在使用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);
}
});
}
答案 0 :(得分:8)
您可以使用String.format方法获得所需的结果。
Date dateFromDateChooser = dateChooser.getDate();
String dateString = String.format("%1$td-%1$tm-%1$tY", dateFromDateChooser);
答案 1 :(得分:3)
试试这个
java.text.SimpleDateFormat fmt = new java.text.SimpleDateFormat("dd-MM-yyyy");
String formattedDate = fmt.format(dateChooser.getDate());
答案 2 :(得分:2)
有两个选择
1 /您已经下载了代码源
calDealDate.setPreferredSize(new Dimension(90, 23));
calDealDate.setDateFormat(new SimpleDateFormat("dd.MM.yyyy"));
calDealDate.setSpiningCalendarField(Calendar.DAY_OF_MONTH);
calDealDate.setFont(new Font("SansSerif", Font.BOLD, 12));
calDealDate.setBackground(AppVariables.fieldColor);
calDealDate.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
//here is your date depends of previous setings
}
});
calDealDate.setToolTipText(" some tooltip text ");
2 /您已经下载了jar文件,然后您必须从API
中找到此方法或等效方法 编辑:也许我会先从代码源开始,然后将其导入项目答案 3 :(得分:0)
试试这个
public void calendarExpale(){
JPanel content = new JPanel();
content.setLayout(new FlowLayout());
final JTextField textField = new JTextField(15);
JDateChooser chooser = new JDateChooser();
chooser.setSize(15, 10);
chooser.addPropertyChangeListener("date", new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent evt) {
JDateChooser chooser = (JDateChooser)evt.getSource();
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy HH:MM:SS");
textField.setText(formatter.format(chooser.getDate()));
}
});
content.add(textField);
content.add(chooser);
}
答案 4 :(得分:-1)