定义一个方法,可以计算出两个日期之间相差多少天 例如:2015年2月17日到2015年3月29日中间一共有多少天?

定义一个方法,可以计算出两个日期之间相差多少天

例如:2015年2月17日到2015年3月29日中间一共有多少天?
在这里插入图片描述

import java.util.Scanner;
public class Four {public static void main (String[] args){Scanner input = new Scanner(System.in);System.out.println("请输入第一个年月日");String str1 = input.next();System.out.println("请输入第二个年月日");String str2 = input.next();day(str1,str2);}public static int day(String s1,String s2){String years1 = " ";String years2 = " ";String month1 = " ";String month2 = " ";String day1 =" ";String day2 = "";for (int i = 0; i <4 ; i++) {years1 += s1.charAt(i);years2 += s2.charAt(i);}for (int i = 5; i <7 ; i++) {if (s1.charAt(i) != '年') {month1 += s1.charAt(i);}if (s2.charAt(i) != '年') {month2 += s2.charAt(i);}}if(s1.charAt(6) != '月'){for (int i = 8; i <10 ; i++) {day1 += s1.charAt(i);}}else{for (int i = 7; i <9 ; i++) {day1 += s1.charAt(i);}}if(s2.charAt(6) != '月'){for (int i = 8; i <10 ; i++) {day2 += s2.charAt(i);}}else{for (int i = 7; i <9 ; i++) {day2 += s2.charAt(i);}}int years = 0;int month = 0;int day =0;int SumYearDay=0;for(int i = Integer.parseInt(years1);i<Integer.parseInt(years2);i++){SumYearDay += (i%400==0||(i%100!=0&&i%4==0) ? 366 : 365);}for(int i = 1;i<=month;i++){switch (i) {case 2:// 闰年二月29天,平年28天day = years % 400 == 0 || (years % 100 != 0 && years % 4 == 0) ? 29 : 28;break;case 1:case 3:case 5:case 7:case 8:case 10:case 12:day = 31;break;default:day = 30;}if(i!=month){      // 条件不成立,不加SumYearDay += day;            // 用年份的总天数加上月份的总天数得出总天数}}return SumYearDay;}
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部