SimpleDateFormat不生成预期输出

时间:2012-03-24 12:11:11

标签: java date simpledateformat

我使用JCalender来获取日期。它像这样返回日期

Thu Mar 01 18:35:53 PST 2012

但我需要的是这种格式。

01/03/2012 

我尝试过以下代码:

SimpleDateFormat MydateFormat = new SimpleDateFormat("dd/MM/yyyy");
            FromDate.getDateEditor().addPropertyChangeListener(
new PropertyChangeListener() {
    @Override
    public void propertyChange(PropertyChangeEvent e) {
        if ("date".equals(e.getPropertyName())) {
            System.out.println(e.getPropertyName()
                + ": -->" + (Date) e.getNewValue());
                try {
                    fdate = MydateFormat.parse(e.getNewValue().toString());
                    JOptionPane.showMessageDialog(rootPane, fdate);
                } catch (ParseException ex) {
                    Logger.getLogger(DashboardChart.class.getName()).log(Level.SEVERE, null, ex);
                }

        }       
    }
});

1 个答案:

答案 0 :(得分:3)

您要求的是基于当前对象的新Date对象。试试这个:

package test;

import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JOptionPane;

public class TestDateFormat {

    public static void main(String[] args) {
        SimpleDateFormat MydateFormat = new SimpleDateFormat("dd/MM/yyyy");
        Date date = new Date();
        String fdate = MydateFormat.format(date);
        System.out.println(date + " \tFORMATTED: " + fdate);
        JOptionPane.showMessageDialog(null, fdate);
    }
}

E.G。输出

Sat Mar 24 23:40:09 EST 2012    FORMATTED: 24/03/2012