2

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);
        }
    });
}
4

5 回答 5

8

您可以使用 String.format 方法来获得所需的结果。

Date dateFromDateChooser = dateChooser.getDate();
String dateString = String.format("%1$td-%1$tm-%1$tY", dateFromDateChooser);
于 2011-07-20T11:03:33.037 回答
3

尝试这个

java.text.SimpleDateFormat fmt = new java.text.SimpleDateFormat("dd-MM-yyyy");
String formattedDate = fmt.format(dateChooser.getDate());
于 2013-04-17T14:34:10.943 回答
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 中找到这个方法或等效方法

编辑:也许我更愿意从代码源开始,只需将其导入项目

于 2011-07-20T10:55:29.590 回答
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);
}
于 2015-04-29T11:26:59.530 回答
-1

使用String Format Method,它将帮助您以及如何使用它,请参阅此

https://www.youtube.com/watch?v=FEM0BpZSXmU

此链接与您想要的相同教程相同。

于 2017-07-12T04:31:53.393 回答