如果传进来的数据类型是Date时,用getTime()相减除于1800000即可。
long a = (date2.getTime()-date1.getTime())/(30*60*1000);
System.out.println(a);
说明:
Date.getTime() :返回的是一个long类型的毫秒数(是指1970年01月1日0点零分以来的毫秒数)。
1800000 :是指30分钟转换成的毫秒。
如果传进来的是字符串类型的参数时,采用以下转换再计算
SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMddHHmmss");
Date date1=sdf.parse("20201120113000");
Date date2=sdf.parse("20201120143000");
long a = (date2.getTime()-date1.getTime())/(30*60*1000);
System.out.println(a);
就可以得到两个时间点内有多少个30分钟。