当前位置: 代码迷 >> 综合 >> 倒推时间用Calendar实现
  详细解决方案

倒推时间用Calendar实现

热度:6   发布时间:2024-01-19 06:57:48.0

 需求:给出第一组时间的开始时间和结束时间,以及第二组时间的结束时间,两组时间间隔相同,推出第二组时间的开始时间。

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();}}}