0

我正在做一个作业,它涉及使用 GregorianCalendar。规范说我需要使用 setLenient(false); 我该怎么做呢?我还需要设置一个固定日期(2009 年 1 月 1 日),这样我的程序的第一天就一直是这样。

它还说通过以下方式访问日、月和年:

get(1) //returns the year
get(2) // returns the month
get(5) /// returns the day

要将日期添加 n 天,请使用字段编号 5 调用 add 方法: add(5, n);

减法:add(5, -n);

有人可以解释这意味着什么以及如何实施吗?

4

3 回答 3

3

首先访问此处的 API 文档。这些文档准确解释了 Java 类中可用的方法。

例如,要获取日历,您可以:

  Calendar c = Calendar.getInstance();

您将在文档中看到实际上有多种获取日历的方法,默认为 GregorianCalendar。

一旦你有了 Calendar 对象,你就可以调用任何传递必要参数的方法。例如,

 c.setLenient(true);

要使用 get 方法,您必须指定要获取的字段。

int month  = c.get(Calendar.MONTH);

等等。

于 2009-09-12T14:44:46.650 回答
1

创建一个 Calendar 实例并在其上调用 setLenient。

Calendar cal = Calendar.getInstance();
cal.setLenient(false);

int month = cal.get(Calendar.MONTH);

更新:

由于您在评论中只提到了 SimpleDateFormat,因此这里也有一个示例:

Date today = cal.getTime();
DateFormat formatter = new SimpleDateFormat("yyyy-MMM-dd");
System.out.println(formatter.format(today));

Java Almanac是此类简单代码片段示例的良好来源。

于 2009-09-12T14:44:36.683 回答
0

创建一个 GregorianCalendar 实例:

Calendar cal = new GregorianCalendar();
cal.setLenient(false);

参考:

于 2009-09-12T16:09:15.973 回答