时间格式为yyyymmdd的String类型的时间,计算时间间隔有错误

时间格式类型为yyyymmdd,并且为String类型,计算时间间隔有误,一直搞不清楚是什么原因。网上百度了许多,时间格式基本都是yyyy-mm-dd这样的时间格式的,但是yyyymmdd这样的时间格式,求时间间隔的例子很少。望各位大拿赐教~~~

代码如下:

1 String startdate = "20210501"; //开始时间
2 String enddate = "20220407"; //结束时间
3 SimpleDateFormat formatter = new SimpleDateFormat("yyyymmdd");
4 long start = formatter.parse(startdate).getTime();
5 long end= formatter.parse(enddate).getTime();
6 long internal = (end-start)/(1000*60*60*24);
7 
8 log.info("时间间隔"+internal); //结果为370;

开始时间和结束时间明显没有一年,为啥算出的结果是370天,搞不明白,望各位路过的大神赐教,感谢!!

原文地址:https://www.cnblogs.com/jamespan23/p/6676917.html