302 * @param shortened флаг, указывающий на необходимость возврата
303 * сокращенных названий месяцев.
304 *
305 * @return массив названий месяцев.
306 */
307 public static String[] getMonths(final boolean shortened) {
308
309 if (shortened) {
310 return DATE_FORMAT_SYMBOLS.getShortMonths();
311 }
312 else {
313 return DATE_FORMAT_SYMBOLS.getMonths();
314 }
315
316 }
317
318 /**
319 * Возвращает true, если целое число code соответствует действительному месяцу.
320 *
321 * @param code Код, проверяемый на действительность.
322 *
323 * @return
true
, если целое число code соответствует
324 * действительному месяцу.
325 */
326 public static boolean isValidMonthCode(final int code) {
327
328 switch(code) {
329 case JANUARY:
330 case FEBRUARY:
331 case MARCH:
332 case APRIL:
333 case MAY:
334 case JUNE:
335 case JULY:
336 case AUGUST:
337 case SEPTEMBER:
338 case OCTOBER:
339 case NOVEMBER:
340 case DECEMBER:
341 return true;
342 default:
343 return false;
344 }
345
346 }
347
348 /**
349 * Возвращает квартал для заданного месяца.
350 *
351 * @param code код месяца (1–12).
352 *
353 * @return квартал, к которому относится месяц.
354 * @throws java.lang.IllegalArgumentException
355 */
356 public static int monthCodeToQuarter(final int code) {
357
358 switch(code) {
359 case JANUARY:
360 case FEBRUARY:
361 case MARCH: return 1;
362 case APRIL:
363 case MAY:
364 case JUNE: return 2;
365 case JULY:
366 case AUGUST:
367 case SEPTEMBER: return 3;
368 case OCTOBER:
369 case NOVEMBER:
370 case DECEMBER: return 4;
371 default: throw new IllegalArgumentException(
372 "SerialDate.monthCodeToQuarter: invalid month code.");
373 }
374
375 }
376
377 /**
378 * Возвращает строку, представляющую заданный месяц.
379 *
380 * Строка возвращается в форме длинного названия месяца
381 * из локального контекста по умолчанию.
382 *
383 * @param month месяц.
384 *
385 * @return строка, представляющая заданный месяц.
386 */