Java SimpleDataFormat'的问题;毫秒
我尝试了这个代码片段,结果非常令人惊讶。为什么输出与输入不同?我是否犯了错误,或者SimpleDataFormat是否存在问题Java SimpleDataFormat'的问题;毫秒,java,date,datetime,simpledateformat,milliseconds,Java,Date,Datetime,Simpledateformat,Milliseconds,我尝试了这个代码片段,结果非常令人惊讶。为什么输出与输入不同?我是否犯了错误,或者SimpleDataFormat是否存在问题 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd-HH.mm.ss.SSS"); try { Date date = sdf.parse("2013-04-18-19.01.33.080"); System.out.println(sdf.format(date)); // output: 2
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd-HH.mm.ss.SSS");
try {
Date date = sdf.parse("2013-04-18-19.01.33.080");
System.out.println(sdf.format(date)); // output: 2012-04-18-19.01.33.80
} catch (ParseException e) {
e.printStackTrace();
}
编辑:事实上,我检查了我的代码,并编写了yyy-MM-dd HH.MM.ss.S
而不是yyy-MM-dd HH.MM.ss.SSS
。这是一个愚蠢的错误。谢谢大家的回答。,如果对您不起作用,请尝试显式设置语言环境
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd-HH.mm.ss.SSS", Locale.ENGLISH);
我已经测试了您的代码片段,它使用1.6版运行良好dd
对于一个月的哪一天也是正确的。老兄,我得到的输出与输入完全相同。很好用。这意味着您的输入参数也是正确的。为了清楚起见,你能发布完整的课程代码吗?请同时提及Steven提到的java版本,谢谢,发布的代码也适用于我。我在Windows 7上使用JDK7。@pith这是一个愚蠢的错误
——这就是为什么你应该在每个问题上发布SSCCE,而不仅仅是几行代码。我们没有时间浪费,猜测你可能做了什么或没有做什么。我本来会投票,但我不应该离开这个网站去看你的6行测试程序。把代码贴在这里。