JAVA,Calendar的用法

来源:互联网 发布:澳大利亚网络攻击 编辑:程序博客网 时间:2024/04/19 23:19
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 今天是这个月的第几天
* }
*/
0 0
原创粉丝点击