//计算两日期相差天数
public static long DayDiff(String date1, String date2,String format) {
if (null == date1 || null == date2) {
return -1;
}
SimpleDateFormat formater = new SimpleDateFormat(format);
long diff = 0;
try {
long d1 = formater.parse(date1).getTime();
long d2 = formater.parse(date2).getTime();
//diff=(Math.abs(d1-d2) / (1000 * 60 * 60 * 24));
diff=(d2-d1)/(1000 * 60 * 60 * 24);
} catch (ParseException e) {
e.printStackTrace();
}
return diff;
}
可以解决格式不标准的问题,如2012-2-3而不是2012-02-03,不会报错。
再记录一下如何在一个字符串中正则匹配多个日期:
String patter="\\d{4}(\\-|\\/|.)\\d{1,2}\\1\\d{1,2}";
Pattern p=Pattern.compile(patter);
Matcher m1=p.matcher("需要匹配的字符串2019-8-7至2020-01-01");
//存储匹配出来的两个日期
String[] date=new String[2];
int i=0;
while(m1.find()){
date[i++]=m1.group();
}