java实现两个时间相减得到年月

java实现两个时间相减得到年月,例如:
开始日期:2015-06-20,结束日期:2016-02-05。结果为:7个月
开始日期:2015-06-20,结束日期:2015-12-12。结果为:6个月
开始日期:2015-06-20,结束日期:2017-10-10。结果为:2年3个月
开始日期:2015-12-10,结束日期:2017-10-10。结果为:1年10个月

大概判断了一下,比较粗糙,仅供参考。
private static void function17() throws Exception {
        Scanner sc=new Scanner(System.in);
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
        System.out.println("请输入起始时间");
        Date date1=sdf.parse(sc.next());
        System.out.println("请输入截止时间");
        Date date2=sdf.parse(sc.next());
        long time1=date1.getTime();
        long time2=date2.getTime();
        long time=(time2-time1)/1000;
        long year=time/(24*3600*365);
        long month=time%(24*3600*365)/(24*3600*30);
        if(year>0){
            System.out.println(year+"年"+month+"月");
        }else{
            System.out.println(month+"月");
        }
    }

温馨提示:内容为网友见解,仅供参考
无其他回答

java实现两个日期相减得到中间的年份和月份
public class DateSimple { public static void main(String[] args) { String startTime = "2012-07-01";String endTime = "2014-07-31";String[] arg1 = startTime.split("-");String[] arg2 = endTime.split("-");int year1 = Integer.valueOf(arg1[0]);int year2 = Integer.va...

java 两个日期相减的怎么做?
对已日期相减,最高效的做法就是将二者都转换成毫秒,相减之后再根据你的需求进行单位转换,比如你想显示相差的秒数,就除以1000,以此类推,翠花,上代码:\/* 随便选两个时间 *\/ String d1 = "2015-04-17"; String d2 = "2015-06-17"; \/* 先转成毫秒并求差 *\/ SimpleDateF...

java实现两个时间相减,得到这个时间段是几年?不满1年的也算1年,依次类...
import java.text.ParseException;import java.util.Calendar;import java.util.Scanner;\/* * 需求:java实现两个时间相减,得到这个时间段是几年?不满1年的也算1年,依次类推,不满2年的算2年 * * PS:我是菜鸟,东拼四凑弄出来这个。大概思路是这样,健壮性判断和bug、优化代码就靠你自己了 ...

Java中如何将如何实现一个自定义日期与当前系统日期相减并等到结果?
\/\/时间差如何能算出月呢???只能说是差几天几个小时多少分钟多少秒吧!!除非规定30天为一个月,365天为一年,才可以的。我算出了差几天几个小时多少分钟多少秒,具体多少天算一个月,自己添加吧。import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;...

java月份相减
startCalendar.setTime(startMonth); endCalendar.setTime(endMonth); yearNumber = endCalendar.get(endCalendar.YEAR) - startCalendar.get(endCalendar.YEAR); monthNum = endCalendar.get(Calendar.MONTH) - startCalendar.get(Calendar.MONTH); return yearNumber*12 + monthNum; }...

java 两个时间相减
先转成Date 再获取毫秒数来减 java.text.SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");java.util.Calendar c = Calendar.getInstance();String date1 = "2014-10-10 00:00:00";String date2 = "2015-10-10 00:00:00";c.setTime(sdf.parse(date1));int y1 ...

如何用JAVA把两个时间相减
Date date = new Date(); \/\/实例化日期类型 String today = date.toLocaleString(); \/\/获取当前时间 System.out.println("获得当前系统时间 "+today); \/\/显示 return today; \/\/返回当前时间 } public static void main(String[] args) { String dqsj = dqsj(); \/\/获得String dqsj...

java中如何实现日期相减
求两个日期之间相隔的天数:Java代码示例:java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd");java.util.Date beginDate= format.parse("2007-12-24");java.util.Date endDate= format.parse("2007-12-25");long day=(date.getTime()-mydate.getTime())\/(...

java 如何将日期年份相减
public static void main(String... args) { Date thisYear = new Date();System.out.println(formatDate2YYYYMMDD(thisYear));Date lastYear = lastYear(thisYear);System.out.println(formatDate2YYYYMMDD(lastYear));} private static Date lastYear(Date thisYear) { Calendar c = Calendar....

Java中使用什么方法可以把两个String类型的日期相减求出时间差啊?
假设有两个日期。第一个日期为:2012年9月13日2时3分4秒 第二个日期为:2012年8月12日0时0分0秒 求二者的时间差的代码如下 import java.text.SimpleDateFormat;import java.util.Date;public class TimeDifference2 { private static int days; \/\/天数 private static int hours; \/\/时 private...

相似回答