我收到一个字符串形式的日期,如下所示:2015-07-22.06.05.56.344
。我写了这样的解析代码
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd.hh.MM.ss.ms");
try {
Date date = sdf.parse("2015-07-22.06.05.56.344");
System.out.println(date);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
我得到了这样的输出:
Fri May 22 06:03:44 IST 2015
为什么读错了?是我的代码有问题还是java无法识别这个日期格式?
最佳答案
- 您的
MM
/mm
方向不对,mm
表示“小时中的分钟”,MM
> 代表“一年中的月份” SS
代表“毫秒”(或ms
,这意味着什么)- 我还建议使用
HH
而不是hh
,因为HH
代表“一天中的小时 (0-23)”<
所以,使用...
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd.HH.mm.ss.SS");
它为我输出Wed Jul 22 06:05:56 EST 2015
关于java 日期格式 yyyy-mm-dd.hh.MM.ss.ms,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31870275/