本文主要是介绍定义一个方法,可以计算出两个日期之间相差多少天 例如: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;}
}
这篇关于定义一个方法,可以计算出两个日期之间相差多少天 例如:2015年2月17日到2015年3月29日中间一共有多少天?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!