SimpleDateFormat 格式化日期时的非法检验

博客介绍了在Java中防止非法日期转换的方法。通过使用SimpleDateFormat类,设置setLenient(false),可避免将不合法日期转换为合法日期,如阻止将20050344转换为20050413。

SimpleDateFormat formater = new SimpleDateFormat();

formater.setLenient(false);

formater.parse(str);

可以防止java把不合法日期进行转换。例如:20050344本来是非法的日期,可是parse成合法的20050413啦,所以setLenient(false)可以阻止这种转换。

2025-07-15 01:03:33 | | [AutoServer-3] | INFO | autoServerLogger | 导入2025-07-14~2025-07-14检验报告完成 2025-07-15 01:03:33 | | [AutoServer-3] | INFO | autoServerLogger | 导入检验报告结束 2025-07-15 01:03:33 | | [AutoServer-3] | INFO | cn.iheal.base.interfaces.service.impl.PublicInterfaceImpl | getCommonXml的参数为:{brid=0, end=Mon Jul 14 23:59:59 CST 2025, userid=AUTO, begin=Mon Jul 14 00:00:00 CST 2025} 2025-07-15 01:03:33 | | [AutoServer-3] | INFO | cn.iheal.common.config.MyBatisFlexConfiguration | IP:172.16.213.21, 执行SQL: select XTSB, CSMC, CENTERID, CSZ, MRZ, BZ, XGPB from OPTLIST where XTSB = 1 and CSMC = 'DATEFORMAT' and CENTERID = 0 耗:0ms 2025-07-15 01:03:33 | | [AutoServer-3] | ERROR | autoServerLogger | Illegal pattern character 'I' 2025-07-15 01:03:33 | | [AutoServer-3] | ERROR | autoServerLogger | 自动服务系统出现错误:[java.text.SimpleDateFormat.compile(SimpleDateFormat.java:826), java.text.SimpleDateFormat.initialize(SimpleDateFormat.java:634), java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:605), java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:580), cn.iheal.common.utils.DateUtils.parseDateToStr(DateUtils.java:96), cn.iheal.base.interfaces.service.impl.PublicInterfaceImpl.getCommonXml(PublicInterfaceImpl.java:76), cn.iheal.web.service.impl.PatientServiceImpl.importJcd(PatientServiceImpl.java:8791), cn.iheal.web.service.impl.PatientServiceImpl$$FastClassBySpringCGLIB$$e81b42ab.invoke(<generated>), org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218), org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688), cn.iheal.web.service.impl.PatientServiceImpl$$EnhancerBySpringCGLIB$$8033da5e.importJcd(<generated>), cn.iheal.myLib.AutoService.tran(AutoService.java:227), org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54), org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:93), java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511), java.util.concurrent.FutureTask.run(FutureTask.java:266), java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180), java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293), java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149), java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624), java.lang.Thread.run(Thread.java:748)]
07-17
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值