216 /**
217 * Возвращает
true
, если целое число code соответствует
218 * действительному дню недели, или
false
в противном случае.
219 *
220 * @param code код, проверяемый на допустимость.
221 *
222 * @return
true
, если целое число code соответствует
223 * действительному дню недели,
false
в противном случае.
224 */
225 public static boolean isValidWeekdayCode(final int code) {
226
227 switch(code) {
228 case SUNDAY:
229 case MONDAY:
230 case TUESDAY:
231 case WEDNESDAY:
232 case THURSDAY:
233 case FRIDAY:
234 case SATURDAY:
235 return true;
236 default:
237 return false;
238 }
239
240 }
241
242 /**
243 * Преобразует переданную строку в день недели.
244 *
245 * @param s строка, представляющая день недели.
246 *
247 * @return
-1
, если строка не преобразуется, день недели
248 * в противном случае.
249 */
250 public static int stringToWeekdayCode(String s) {
251
252 final String[] shortWeekdayNames
253 = DATE_FORMAT_SYMBOLS.getShortWeekdays();
254 final String[] weekDayNames = DATE_FORMAT_SYMBOLS.getWeekdays();
255
256 int result = -1;
257 s = s.trim();
258 for (int i = 0; i < weekDayNames.length; i++) {
259 if (s.equals(shortWeekdayNames[i])) {
260 result = i;
261 break;
262 }
263 if (s.equals(weekDayNames[i])) {
264 result = i;
265 break;
266 }
267 }
268 return result;
269
270 }
271
272 /**
273 * Возвращает строку, представляющую заданный день недели.
274 *
275 * Необходимо поискать более элегантное решение.
276 *
277 * @param weekday день недели.
278 *
279 * @return строка, представляющая заданный день недели.
280 */
281 public static String weekdayCodeToString(final int weekday) {
282
283 final String[] weekdays = DATE_FORMAT_SYMBOLS.getWeekdays();
284 return weekdays[weekday];
285
286 }
287
288 /**
289 * Возвращает массив названий месяцев.
290 *
291 * @return массив названий месяцев.
292 */
293 public static String[] getMonths() {
294
295 return getMonths(false);
296
297 }
298
299 /**
300 * Возвращает массив названий месяцев.
301 *