0

我在我的项目中使用了 DateChooser jar。在 linux(Ubuntu) 上,当我测试显示的日期是格式dd/MM/yy时,当我在 Windows 机器上测试同一个项目时,显示的日期是格式MM/dd/yy。以下是代码片段:

        SimpleDateFormat chooserDateFormat = new SimpleDateFormat("dd/MM/yy HH:mm:ss");

        dteKCActDate = new DateChooserCombo();
        dteKCActDate.setBounds(new Rectangle(11, 23, 164, 21));
        dteKCActDate.setFieldFont(new Font("Verdana", Font.PLAIN, 12));
        dteKCActDate.setNavigateFont(new Font("Verdana", Font.PLAIN, 12));
        dteKCActDate.setFormat(3);
        dteKCActDate.setCurrentNavigateIndex(1);
        dteKCActDate.setNothingAllowed(false);
        dteKCActDate.getSelectedDate();         

        dteKCActDate.addSelectionChangedListener(new datechooser.events.SelectionChangedListener() {
            public void onSelectionChange(datechooser.events.SelectionChangedEvent evt) {
                MultyDateChooseModel iObj=((MultyDateChooseModel)evt.getSource());                                               
                    iObj.commit();            
            }
        });

我的问题是为什么当我切换到不同的机器时会显示日期格式的差异。

4

1 回答 1

0

SimpleDateFormat(String pattern) 使用计算机的默认日期格式符号作为默认语言环境。如果您希望它在每台机器上都相同,请尝试使用 SimpleDateFormat(String pattern, Locale locale) 设置固定的语言环境。

于 2013-05-22T12:12:06.310 回答