需求:给出第一组时间的开始时间和结束时间,以及第二组时间的结束时间,两组时间间隔相同,推出第二组时间的开始时间。
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class Main {
public static void main(String[] args) {
dateCount("2019-7-1 14:00","2019-7-4 15:30","2019-7-1 00:20");
dateCount("2019-7-6 13:02","2019-7-7 15:30","2019-7-4 10:00");
dateCount("2017-11-6 23:45","2018-01-02 23:18","2019-02-26 00:31");
dateCount("2016-2-23 12:16","2016-2-24 13:35","2016-3-1 10:00");
dateCount("1997-1-1 00:00","2019-3-8 12:35","2014-5-6 10:45");
dateCount("1900-9-3 16:36","2000-7-9 12:25","2000-1-2 44:10");
}
public static void dateCount(String a1,String a2,String b1){
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
System.out.println("第一组开始时间为:"+a1+"\t第一组结束时间为:"+a2);
try {
Date start1 = simpleDateFormat.parse(a1);
Date end1 = simpleDateFormat.parse(a2);
Date end2=simpleDateFormat.parse(b1);
Calendar calendar=Calendar.getInstance();
calendar.setTime(end2);
long longStart1= start1.getTime();
long longEnd1=end1.getTime();
int minute=(int) ((longEnd1-longStart1)/(60*1000));
calendar.add(Calendar.MINUTE,-minute);
Date result=calendar.getTime();
System.out.print("第二组开始时间为:"+simpleDateFormat.format(result));
System.out.println("\t第二组结束时间为:"+b1);
System.out.println("===============================");
} catch (ParseException e) {
e.printStackTrace();
}
}
}