0

我需要使用日历来创建我指定月份、星期数和星期几的日期。我正在创建日历的新实例:**

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 月的第一个星期六,而是得到了 10 月的最后一个星期六?

4

3 回答 3

1

您需要更正日历常量值。请参考下面的代码,它工作正常。请记住日历中的月份值以 0 和 1 开头,即月份为 0 表示月份为 Jan

Calendar c = Calendar.getInstance();
    c.set(Calendar.DAY_OF_WEEK,4);
    c.set(Calendar.WEEK_OF_MONTH,4);
    c.set(Calendar.MONTH,7);
于 2013-11-02T15:16:34.433 回答
1

DAY_OF_WEEK是周日到周六。值 7,表示SATURDAYWEEK_OF_MONTH是_

get 和 set 的字段编号,指示当前月份中的周数。该月的第一周,由 getFirstDayOfWeek() 和 getMinimalDaysInFirstWeek() 定义,值为 1。子类定义该月第一周前几天的 WEEK_OF_MONTH 值。

MONTH数字从 0 开始,1110月也是如此。您没有指定年份,因此它使用当前年份。

十一月的第一周星期六是

Sat Nov 02 11:19:24 EDT 2013

你还期待什么?十月?MONTH将您的值更改为9.

于 2013-11-02T15:18:42.537 回答
0

尝试这个

  c.set(2000, 7, 4);  // YYYY M D

  // print the result
  System.out.println("Altered date is :" + cal.getTime());
于 2013-11-02T15:14:36.730 回答