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

备付金存管银行是指可以为支付机构办理客户备付金的跨行收付业务,并负责对支付机构存放在所有备付金银行的客户备付金信息进行归集、核对与监督的备付金银行。(支付机构客
最近有一套生产系统的数据库CPU老是偏高,发现闲时也在40%-60%左右,感觉很不正常,决定优化一下,在这
首先需要知道什么叫一元购? 就是你支付一元后获得一个购物资格,有的叫抽