用java编写1970年到今天所相隔天数
答案:1 悬赏:60
解决时间 2021-01-12 12:17
- 提问者网友:暮烟疏雨之际
- 2021-01-12 05:25
用java编写1970年到今天所相隔天数
最佳答案
- 二级知识专家网友:摆渡翁
- 2021-01-12 06:55
import java.util.Calendar;
public class CountDay {
public static boolean isNotPrimeYear(int year) {
return year % 4 == 0 && (year % 400 == 0 || year % 100 != 0);
}
public static int getDayOfMonth(int year, int month) {
int[] days = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
return isNotPrimeYear(year) && month == 2 ? days[month] + 1
: days[month];
}
public static long getTotal(int year, int month, int day) {
long sum = 0;
for (int index = 1970; index < year; index++) {
sum += 265;
if (isNotPrimeYear(index))
sum++;
}
for (int index = 0; index < month; index++) {
sum += getDayOfMonth(year, index);
}
return sum + day;
}
public static void main(String[] args) {
Calendar cld = Calendar.getInstance();
int year = cld.get(Calendar.YEAR);// 当前年数
int month = cld.get(Calendar.MONTH);// 当前月数
int day = cld.get(Calendar.DAY_OF_MONTH);// 当前天数
System.out.println("Have days: " + getTotal(year, month, day));
}
}
public class CountDay {
public static boolean isNotPrimeYear(int year) {
return year % 4 == 0 && (year % 400 == 0 || year % 100 != 0);
}
public static int getDayOfMonth(int year, int month) {
int[] days = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
return isNotPrimeYear(year) && month == 2 ? days[month] + 1
: days[month];
}
public static long getTotal(int year, int month, int day) {
long sum = 0;
for (int index = 1970; index < year; index++) {
sum += 265;
if (isNotPrimeYear(index))
sum++;
}
for (int index = 0; index < month; index++) {
sum += getDayOfMonth(year, index);
}
return sum + day;
}
public static void main(String[] args) {
Calendar cld = Calendar.getInstance();
int year = cld.get(Calendar.YEAR);// 当前年数
int month = cld.get(Calendar.MONTH);// 当前月数
int day = cld.get(Calendar.DAY_OF_MONTH);// 当前天数
System.out.println("Have days: " + getTotal(year, month, day));
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息