java万年历 求大神解释日历是怎样计算出来的 看不懂 谢谢!
importjava.util.Calendar;classCalendarBean{//定义一个日历类Stringday[];//天数数组intyear,month;p...
import java.util.Calendar;
class CalendarBean { // 定义一个日历类
String day[];// 天数数组
int year, month;
public void setYear(int year) {
this.year = year;
}
public int getYear() {
return year;
}
public void setMonth(int month) {
this.month = month;
}
public int getMonth() {
return month;
}
public String[] getCalendar() { // 获得日历
String a[] = new String[42]; // 定义一个以字符串数组
Calendar c = Calendar.getInstance();//调用Calendar函数获得实例
c.set(year, month - 1, 1);//设置年月日,1为每月的1号
int weekday = c.get(Calendar.DAY_OF_WEEK) - 1;//定义weekday为星期一到日中的一天
int day = 0;
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8
|| month == 10 || month == 12) {
day = 31;
}
if (month == 4 || month == 6 || month == 9 || month == 11) {
day = 30;
}
if (month == 2) {
if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) {
day = 29;//判断是否闰年
} else {
day = 28;
}
}
for (int i = weekday, n = 1; i < weekday + day; i++) {//??
a[i] = String.valueOf(n);//?算出这个月有多少个日期是星期几
n++;
}
return a;
}
} 展开
class CalendarBean { // 定义一个日历类
String day[];// 天数数组
int year, month;
public void setYear(int year) {
this.year = year;
}
public int getYear() {
return year;
}
public void setMonth(int month) {
this.month = month;
}
public int getMonth() {
return month;
}
public String[] getCalendar() { // 获得日历
String a[] = new String[42]; // 定义一个以字符串数组
Calendar c = Calendar.getInstance();//调用Calendar函数获得实例
c.set(year, month - 1, 1);//设置年月日,1为每月的1号
int weekday = c.get(Calendar.DAY_OF_WEEK) - 1;//定义weekday为星期一到日中的一天
int day = 0;
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8
|| month == 10 || month == 12) {
day = 31;
}
if (month == 4 || month == 6 || month == 9 || month == 11) {
day = 30;
}
if (month == 2) {
if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) {
day = 29;//判断是否闰年
} else {
day = 28;
}
}
for (int i = weekday, n = 1; i < weekday + day; i++) {//??
a[i] = String.valueOf(n);//?算出这个月有多少个日期是星期几
n++;
}
return a;
}
} 展开
2016-06-07
展开全部
这个,就是年月日,再加上判断月大、月小、和闰年。。。。。。。。。
追问
return a是返回什么的?
那个weekday不是代表星期几吗?int weekday = c.get(Calendar.DAY_OF_WEEK) - 1;???
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询