关于计算出一年的第一天是星期几?

2024-11-25 03:06:21
推荐回答(4个)
回答1:

public static long firstDayOfYear(int y)

{
long n=1;
// n=y*365; // 这句让我很费解....万一输入的年份是闰年怎么办?

for(int i=1;i {
if(isLeapYear(i)) n+=2;
else n+=1; //闰年和非闰年的区别就是一个整除7余1 一个整除7于2
}
return n%=7;
}
/***判断是不是闰年*/
public static boolean isLeapYear(int y)
{
return ((y%4==0 && y %100!=0) || y%400==0);
}

回答2:

public static void main(String[] args) {

String test="2013";
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR,Integer.parseInt(test));
cal.set(Calendar.MONTH,0);
cal.set(Calendar.DAY_OF_MONTH, 1);
System.out.println(new SimpleDateFormat("yyyyMMdd").format(cal.getTime()));
System.out.println(cal.get(Calendar.DAY_OF_WEEK));

}

用这个工具类,其他一切都不用你操心 ,你只要保证构建的时间是对的,然后返回的常量值和你的一样,就行了

回答3:

真心不用这么麻烦... 

SimpleDateFormat formatDate = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat dateFm = new SimpleDateFormat("EEEE");
        Date date = formatDate.parse("2013-01-01"); //字符串转日期
System.out.println( dateFm.format(date) );  //输出星期几

回答4:

n=(y-1900)*365+1;
n=(y-1900)*365;
y需要减去1900