显然,我遗漏了一些基本的东西。我在格式化 jspinner 的值时遇到问题。我尝试了几种不同的方法并不断收到错误,但没有跟踪它们,除了它与我如何尝试从 jspinner 获取值(value)有关。
这是旋转器代码:
//setup date format for both spinners
SimpleDateFormat datePattern = new SimpleDateFormat("MM/dd/yyyy");
JSpinner dateFrom = new JSpinner(new SpinnerDateModel());
dateFrom.setEditor(new JSpinner.DateEditor(dateFrom, datePattern.toPattern()));
JPanel dateFromPanel = new JPanel(new GridLayout());
dateFromPanel.add(dateFrom);
dateFromPanel.setBorder(new TitledBorder("Date - From"));
这是我目前尝试获取格式的方式:
SimpleDateFormat sdfSource = new SimpleDateFormat("MM/dd/yyyy");
Date from = sdfSource.parse(dateFrom.getValue().toString());
SimpleDateFormat sdfDestination = new SimpleDateFormat("MM/dd/yyyy");
String dosFrom = sdfDestination.format(from);
当前错误: 线程“main”中的异常 java.text.ParseException:无法解析的日期:“2006 年 10 月 23 日星期一 00:00:00 EDT”
最佳答案
我怀疑是这个问题:
dateFrom.getValue().toString()
我怀疑 dateFrom.getValue()
只是返回一个 Date
- 当然没有任何关联的格式。与其解析,不如直接转换它:
Date from = (Date) dateFrom.getValue();
当然,我可能是错的……但那是我的第一个想法。
关于java - 使用 SimpleDateFormat 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9004038/