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

Я делаю назначение, и это предполагает использование 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 ответа

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

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

  Calendar c = Calendar.getInstance();

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

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

 c.setLenient(true);

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

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

и так далее.

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

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

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

Рекомендации:

Другие вопросы по тегам