public class Main { public static void main(String[] args) throws ParseException { SimpleDateFormat s=new SimpleDateFormat("yyyy-MM-dd"); Date date1=s.parse("1921-7-23"); Date date2=s.parse("2020-7-1"); int a=(int)((date2.getTime()-date1.getTime())/(1000*60)); System.out.println(a); } }
public class Date { static int days(int year1, int month1, int day1, int year2, int month2, int day2) { return getdays(year2, month2, day2) - getdays(year1, month1, day1); }
// 传入的日期与基点日期之间的天数 static int getdays(int year, int month, int day) { int sum = 0; int[] dayOfMonth = new int[] { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; if (isLeapYear(year)) { dayOfMonth[2]++; } for (int i = 1; i < year; i++) { sum += 365; if (isLeapYear(i)) { sum++; } } for (int i = 1; i < month; i++) { sum += dayOfMonth[i]; } sum += day; return sum; }
static boolean isLeapYear(int year) { boolean tag = false; if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { tag = true; } return tag; }