我需要使用日历创建日期,在此日期我指定月份,周数和星期几。 我正在创建新的日历实例: **
Calendar c = Calendar.getInstance();
c.set(Calendar.DAY_OF_WEEK,7);
c.set(Calendar.WEEK_OF_MONTH,1);
c.set(Calendar.MONTH,10);
** 当调用c.getTime(); 而不是在11月的第一个星期六,我将在十月的最后一个星期六?
答案 0 :(得分:1)
您需要更正日历常量值。请参考下面的代码,它工作正常。 请记住,日历中的月份值以0和1开头,即月份为0表示月份为1月。
Calendar c = Calendar.getInstance();
c.set(Calendar.DAY_OF_WEEK,4);
c.set(Calendar.WEEK_OF_MONTH,4);
c.set(Calendar.MONTH,7);
答案 1 :(得分:1)
DAY_OF_WEEK
是星期日到星期六。值7表示SATURDAY
。 WEEK_OF_MONTH
是
获取和设置的字段编号,表示其中的周数 这个月。本月的第一周,由定义 getFirstDayOfWeek()和getMinimalDaysInFirstWeek(),值为1。 子类在第一个之前的几天定义WEEK_OF_MONTH的值 这个月的一周。
MONTH
个数字从0开始,因此10
是11月。您尚未指定年份,因此它使用当前年份。
11月的第一周星期六落在
上Sat Nov 02 11:19:24 EDT 2013
你还有什么期待?十月?将您的MONTH
值更改为9
。
答案 2 :(得分:0)
试试这个
c.set(2000, 7, 4); // YYYY M D
// print the result
System.out.println("Altered date is :" + cal.getTime());