日期格式化 YYYY日期错位
起因
支付系统通知账务还款结果时,对请求时间使用“YYYYMMddHHmmss”格式化,20171231变为了20181231致使数据不匹配。
我们大多都知道mm与MM的区别,因为分和月会同时出现,但很少会关注其它的pattern大小写有无区分。
重现demo如下
Date date = new Date(2017 - 1900, 11, 31);
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(dateFormat.format(date));
dateFormat = new SimpleDateFormat("YYYY-MM-dd");
System.out.println(dateFormat.format(