У меня возникли проблемы с разбором строки, содержащей ТОЛЬКО информацию о МЕСЯЦЕ и ДНЕ в объект даты. Просмотрев другие темы, я решил использовать SimpleDateFormatter. Вот мой код:.Разбор строки в объект календаря
void checkDay(Calendar now) {
Calendar cal = Calendar.getInstance(now.getTimeZone());
for (String holiday : usHolidayList) {
Date holidayDate = null;
try {
holidayDate = new SimpleDateFormat("MM/DD").parse(holiday);
} catch (ParseException e) {
e.printStackTrace();
}
checkNotNull(holidayDate);
cal.setTime(holidayDate);
if (now.get(Calendar.MONTH) == cal.get(Calendar.MONTH) && now.get(Calendar.DAY_OF_MONTH) == cal.get(Calendar.DAY_OF_MONTH)) {
return true;
}
}
return false;
}
usHolidayList, как -> «01/01», 05/25" , который содержит информацию только месяц и день, мне просто нужно, чтобы получить 05/25 и преобразовать это к дата. Я не забочусь о годе или временных компонентов.
с моим текущим кодом, ДЕНЬ, кажется, анализируется правильно, но МЕСЯЦ всегда устанавливается в январе.
Thu Jan 01 00:00:00 UTC 1970
Sun Jan 25 00:00:00 UTC 1970
Я ожидал, что это будет Чт 01 января 00:00:00 UTC 1970 Вс 25 мая 00:00:00 UTC 1970
Действительно оцените некоторые мысли.