java Calendar类获取时间问题.

//获取calendar实例;
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());

int day_of_week_in_month = calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH);

//获取在这个月中是第几周;
int week_of_month = calendar.get(Calendar.WEEK_OF_MONTH);

Calendar.DAY_OF_WEEK_IN_MONTH 和 Calendar.WEEK_OF_MONTH 这两个有什么区别?

比如今天的日期是:2011-07-24 10:40:00

System.out.println(day_of_week_in_month);
System.out.println(week_of_month);
输出结果:
4
5
能帮我解释一下吗?
int am = calendar.get(Calendar.AM);
int pm = calendar.get(Calendar.PM);
还有这两个,
1
2011
AM 和 PM不是表示上午和下午吗?

WEEK_OF_MONTH 某月第几周,严格以星期的起止算。比如这个月3号才是周一,那3号才算第1周,2号不算。以星期为标准
DAY_OF_WEEK_IN_MONTH,某月中第几周,按这个月1号算,1号起就是第1周,8号起就是第2周。以月份天数为标准

int am = calendar.get(Calendar.AM);
int pm = calendar.get(Calendar.PM); //这2行是误用,AM和PM是作为值的常量
=============
正确用法
int r = calendar.get(Calendar.AM_PM);//询上午还是下午
if(r==Calendar.AM)//如果上午
if(r==Calendar.PM)//如果下午
温馨提示:答案为网友推荐,仅供参考