Григорианский календарь - PullRequest
       14

Григорианский календарь

0 голосов
/ 12 сентября 2009

Я выполняю задание, и оно включает использование GregorianCalendar. В спецификации сказано, что мне нужно использовать setLenient (false); Как мне это сделать? Мне также нужно установить постоянную дату (01.01.2009), чтобы первый день моей программы всегда был таким.

В нем также говорится, чтобы получить доступ к дню, месяцу и году через это:

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

Чтобы добавить n дней к дате, вызовите метод add с номером поля 5: add (5, n);

Чтобы вычесть: добавить (5, -n);

Может кто-нибудь объяснить, что это значит и как это реализовать?

Ответы [ 3 ]

3 голосов
/ 12 сентября 2009

Начните с посещения документации API здесь . Эти документы объясняют, какие именно методы доступны в классе в Java.

Например, чтобы получить календарь, вы можете:

  Calendar c = Calendar.getInstance();

В документации вы увидите, что на самом деле существует несколько способов получить календарь, и по умолчанию используется GregorianCalendar.

Если у вас есть объект Calendar, вы можете вызывать любой метод, передавая необходимые параметры. Например,

 c.setLenient(true);

Чтобы использовать методы get, вам нужно указать поле, которое вы хотите получить.

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

и т. Д.

1 голос
/ 12 сентября 2009

Создайте экземпляр 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 является хорошим источником для простых примеров кода, подобных этим.

0 голосов
/ 12 сентября 2009

Чтобы создать экземпляр GregorianCalendar:

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

Ссылки:

...