java - 尝试将日期转换为毫秒时出现 ParseException

标签 java swing datetime formatting

执行以下代码时,我收到 ParseException:

double toMilliseconds(double ds2) throws ParseException
{
    long durinsec;
    DateFormat formatter;
    Date convertedDate;
    String d2 = String.valueOf(ds2);
    System.out.println(d2+"string date");
    formatter = new SimpleDateFormat("yyyyMMddHHmmSS");
    convertedDate = formatter.parse(d2);
    System.out.println(convertedDate+"convertedDate");
    durinsec = convertedDate.getTime()/1000;
    System.out.println("Date from yyyyMMdd String in Java : " +durinsec ); 
    return durinsec;    
}

请帮忙看看哪里出了问题。我从 Java 文本字段获取 yyyyMMddHHmmss 格式的输入。

最佳答案

我建议您使用另一种方法来代替调试代码来查找问题,这样可以节省您所有的脏工作:使用 JFormattedTextFieldJSpinnerSpinnerDateModel获取用户的输入。

您可以根据需要定义模式(即:yyyyMMddHHmmss),获取 Date 中的值对象和使用 getTime()只需一点点努力就可以直接在这个日期。

例如:

JFormattedTextField textField = new JFormattedTextField(new SimpleDateFormat("yyyyMMddHHmmss"));
textField.setValue(new Date());

JSpinner spinner = new JSpinner(new SpinnerDateModel());
spinner.setEditor(new JSpinner.DateEditor(spinner, "yyyyMMddHHmmss"));
<小时/>

编辑

如果 20141029090910 是 double 型,则 String.valueOf(20141029090910d) 将返回如下内容:

 2.014102909091E13

这将导致解析异常,因为它与您的模式不匹配。

关于java - 尝试将日期转换为毫秒时出现 ParseException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26673765/

相关文章:

java - JButton 文本和图像图标被省略号截断

python - matplotlib继承自datetime类plot

java - ColorPane - 可以抓取不同字符的字符串吗?

java - JSP如何管理欢迎文件列表?

java - 按顺序安排动画

android - ACTION_TIME_CHANGED 或 ACTION_DATE_CHANGED,不能使它们工作

python - Pandas 时间分组 : Boundaries for the grouping

Java:用户评论使用哪种标记语言

Java:卡住 JFrame 上的组件

java - 2D 图形问题 - 可能是逻辑