您现在的位置是:首页 >  云笔记 >  开发笔记 >  文章详情

JAVA中SimpleDateFormat对时间格式转换过程中导致时间相差几个月的问题分析

onekbit@163.com   2019-03-04 17:17:07   4人已围观

         最近在开发测试中发现有个时间老是比正常时间相差1-3个月,顺着代码找了找原因,发现是输入参数时将时间格式:yyyy-MM-dd HH:mm:ss传成了:yyyyMMddHHmmss导致出现此类情况,做了几组对比测试:

第一组测试代码结果:

第二组测试代码结果:

时间字符串格式和time patterns想匹配的情况下转换后得出的结果是正常的。

第三组测试代码结果:

在第三组测试中我将yyyy改成了YYYY,测试得出的时间也是比时间时间少一个月。

第四组测试,是网上一朋友说的导入错误的包会导致时间相差几个小时:


其中pattern为格式化参数他的有效组合部分为:yyyy表示年,MM表示月,dd表示天数,HH表示小时,mm表示分钟,ss表示秒,SS表示毫秒(更详细的组合介绍可以参考JDK手册),所以在开发过程中一定要注意时间格式化过程中patterns匹配问题。


onekbit.com 经验笔记整理发布

分享到:


编辑发布时间:2019-03-04 17:17:07