JAVA闰年的0229日期问题
2016-05-05 15:02
281 查看
在使用jdk自己提供的DateFormat类时,如果不指定年,那么解析2月29日会出错。会认为这是一个非法的日期。具体见代码:
import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class DateFormatTest { public static void main(String[] args){ DateFormat dateformat = new SimpleDateFormat("MMddHHmmss"); try { dateformat.setLenient(false); Date date = dateformat.parse("0229084700"); System.out.println(date.toString()); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } 执行时会报错,报错信息如下: java.text.ParseException: Unparseable date: "0229084700" at java.text.DateFormat.parse(Unknown Source) at DateFormatTest.main(DateFormatTest.java:11)使用apache的commons的DateUtils类,它的处理稍微特殊,如果不指定年,0229则会解析为1970年的3月1日,不会报错,但同样是有问题的,使用到此类的话,需注意此情况。
相关文章推荐
- java 的Exception和Error
- MyEclipse下要给主函数传递参数问题
- Java 流(Stream)、文件(File)和IO
- 谈谈对Spring IOC的理解
- java 计算中缀表达式结果
- Spring 对数据库操作
- 张孝祥java.concurrent线程并发学习笔记 - concurrent简介
- java 的方法注释写在哪里?
- Spring常用注解
- java反射之Class.getMethod与getDeclaredMethods()区别
- 部署shop++,启动eclipse遇到内存溢出。
- eclipse java 配置
- java序列化的作用和反序列化
- Liquibase+spring 初步使用
- Spring 实现初始化和销毁bean之前进行的操作的方法
- MyBatis学习总结(八)——Mybatis3.x与Spring4.x整合
- java中22种设计模式
- java动态管理
- c#调用带有安全认证的java webservice
- spring3.0注解