当前位置: 代码迷 >> J2SE >> SimpleDateFormat.parse的一个小疑点
  详细解决方案

SimpleDateFormat.parse的一个小疑点

热度:269   发布时间:2016-04-23 19:48:03.0
SimpleDateFormat.parse的一个小问题
endString = "2015-03-1111a17a7";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(sdf.format(sdf.parse(endString).getTime()));


这段代码,不会报异常
而是显示出
2018-03-15

感觉还是写的不够全面

大家解析日期的时候一般用什么?
joda time吗?

------解决思路----------------------
jdk的dateformat应该是把String类型转为毫秒数再计算日期的吧,可能是把1111a17a7这个也转成对应的毫秒数了所以跟前面年月的加起来就得到一个很大的数值。用joda吧,好用,安全,还可以转回来= 。=
------解决思路----------------------
一般情况下,日期都是格式化好的,用SimpleDateFormat解析就足够了
------解决思路----------------------
引用:
Quote: 引用:

jdk的dateformat应该是把String类型转为毫秒数再计算日期的吧,可能是把1111a17a7这个也转成对应的毫秒数了所以跟前面年月的加起来就得到一个很大的数值。用joda吧,好用,安全,还可以转回来= 。=

jdk8的日期类函数,是不是已经可以取代joda time了?


虽然不知道joda time是个啥,但是我觉得jdk 8 的日期处理真的很好。

jdk7的话,还是依然用SimpleDateFormat.

  相关解决方案