当前位置:首页 > 开发 > 编程语言 > Java > 正文

Java里面SimpleDateFormat

发表于: 2013-10-10   作者:billy.lee   来源:转载   浏览:
摘要: 在Java代码里面我们经常使用java.text.SimpleDateFormat来进行日期和字符串间的转换。在使用它将字符串转化为日期时并不是很严格的。 比如: SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = df.parse("2013-1
在Java代码里面我们经常使用java.text.SimpleDateFormat来进行日期和字符串间的转换。在使用它将字符串转化为日期时并不是很严格的。
比如:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = df.parse("2013-19-34 32:90:100");

这段代码不会抛出异常,得到的日期会自动解析成为合法的,上面的例子返回的日期为:
2014-08-04 09:31:40
由于这个是智能完成的,很容易被忽略掉而导致错误。

以上有2种解决办法:
1. 调用setLenient(false)来进行严格分析
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
sdf.setLenient(false);
Date date = df.parse("2013-19-34 32:90:100");

这样解析时就会出java.text.ParseException
2. 解析完成后,将解析的Date通过SimpleDateFormat重新format一遍,然后比较输入和输出日期是否相等。

Java里面SimpleDateFormat

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号