JAVA中SimpleDateFormat对时间格式转换过程中导致时间相差几个月的问题分析
onekbit@163.com 2019-03-04 17:17:07 723人已围观
最近在开发测试中发现有个时间老是比正常时间相差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