2

我正在创建我的 JSpinner。如果我不使用 "dateSpinner.setEditor(new JSpinner.DateEditor(dateSpinner, "DD:MM:YYYY"));",则 GUI 运行良好,可以正确显示日期和时间,例如 12-2-13 11 :39。但如果我使用它,日期会出错,显示 44/02/2012。有什么问题?谁能帮我吗?谢谢。

private JPanel getTimePanel() {
        JPanel centerPanel = new JPanel();
        centerPanel.setBorder(BorderFactory.createTitledBorder("Calendar"));

        GregorianCalendar cal = new GregorianCalendar();
        Date initialDate = cal.getTime();
        cal.add(Calendar.YEAR, -50);
        Date earliestDate = cal.getTime();
        cal.add(Calendar.YEAR, 100);
        Date latestDate = cal.getTime();

        SpinnerDateModel dateModel = new SpinnerDateModel(initialDate,
                                                          earliestDate,
                                                          latestDate,
                                                          Calendar.DATE);
        JSpinner dateSpinner = new JSpinner(dateModel);
        //dateSpinner.setEditor(new JSpinner.DateEditor(dateSpinner, "DD:MM:YYYY"));
        // Add GUI components
        centerPanel.add(dateSpinner);

        return centerPanel;
    }
4

1 回答 1

3

我猜你的格式字符串不正确。它应该遵循 SimpleDateFormat 的约定:"dd:MM:yyyy"

于 2012-02-13T00:52:12.503 回答