import java.util.Calendar;
public class CalendarTest {
/**
* @param args
*/
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
printCalendar(c);
//System.out.println(getDayNum(3200));
Calendar startDay = Calendar.getInstance();
Calendar finishDay = getFinishDay(startDay);
printCalendar(finishDay);
int num = finishDay.get(Calendar.DAY_OF_YEAR)-c.get(Calendar.DAY_OF_YEAR);
System.out.println("经过了" + num + "天");
}
//计算出某年的2月份有多少天
public static int getDayNum(int year) {
Calendar c = Calendar.getInstance();
c.set(year, 2, 1);
c.add(Calendar.DAY_OF_YEAR, -1);
return c.get(Calendar.DAY_OF_MONTH);
}
//一个项目做100天,周末休息,五一和十一各休息一天,今天开始做,哪天完工
public static Calendar getFinishDay(Calendar c) {
for(int i=0; i<100; i++) {
if(c.get(Calendar.DAY_OF_WEEK)==1||c.get(Calendar.DAY_OF_WEEK)==7)
i--;
else if(c.get(c.DAY_OF_MONTH)==1&&(c.get(c.MONTH)==4||c.get(c.MONTH)==9))
i--;
c.add(Calendar.DAY_OF_YEAR, 1);
}
return c;
}
private static void printCalendar(Calendar c) {
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
int week = c.get(Calendar.DAY_OF_WEEK);
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
String weekStr = null;
switch(week) {
case 1:
weekStr = "星期天";
break;
case 2:
weekStr = "星期一";
break;
case 3:
weekStr = "星期二";
break;
case 4:
weekStr = "星期三";
break;
case 5:
weekStr = "星期四";
break;
case 6:
weekStr = "星期五";
break;
case 7:
weekStr = "星期六";
break;
}
String str = "今天是" + year + "年" + (month+1) + "月" + day + "日,"
+ weekStr + "现在是北京时间" + hour + ":" + minute;
System.out.println(str);
}
}
/*
* public int get(int num) {
* if(num==5)
* return 今天是一年中的第几天
* if(num==9)
* return 今天是这个月的第几天
* }
*/
public class CalendarTest {
/**
* @param args
*/
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
printCalendar(c);
//System.out.println(getDayNum(3200));
Calendar startDay = Calendar.getInstance();
Calendar finishDay = getFinishDay(startDay);
printCalendar(finishDay);
int num = finishDay.get(Calendar.DAY_OF_YEAR)-c.get(Calendar.DAY_OF_YEAR);
System.out.println("经过了" + num + "天");
}
//计算出某年的2月份有多少天
public static int getDayNum(int year) {
Calendar c = Calendar.getInstance();
c.set(year, 2, 1);
c.add(Calendar.DAY_OF_YEAR, -1);
return c.get(Calendar.DAY_OF_MONTH);
}
//一个项目做100天,周末休息,五一和十一各休息一天,今天开始做,哪天完工
public static Calendar getFinishDay(Calendar c) {
for(int i=0; i<100; i++) {
if(c.get(Calendar.DAY_OF_WEEK)==1||c.get(Calendar.DAY_OF_WEEK)==7)
i--;
else if(c.get(c.DAY_OF_MONTH)==1&&(c.get(c.MONTH)==4||c.get(c.MONTH)==9))
i--;
c.add(Calendar.DAY_OF_YEAR, 1);
}
return c;
}
private static void printCalendar(Calendar c) {
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
int week = c.get(Calendar.DAY_OF_WEEK);
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
String weekStr = null;
switch(week) {
case 1:
weekStr = "星期天";
break;
case 2:
weekStr = "星期一";
break;
case 3:
weekStr = "星期二";
break;
case 4:
weekStr = "星期三";
break;
case 5:
weekStr = "星期四";
break;
case 6:
weekStr = "星期五";
break;
case 7:
weekStr = "星期六";
break;
}
String str = "今天是" + year + "年" + (month+1) + "月" + day + "日,"
+ weekStr + "现在是北京时间" + hour + ":" + minute;
System.out.println(str);
}
}
/*
* public int get(int num) {
* if(num==5)
* return 今天是一年中的第几天
* if(num==9)
* return 今天是这个月的第几天
* }
*/