【发布时间】:2015-03-08 19:47:56
【问题描述】:
我无法将仅包含 MONTH 和 DAY 信息的字符串解析为日期对象。浏览其他线程,我决定使用 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" 仅包含 MONTH 和 DAY 信息。我只需要获取 05/25 并将其转换为日期即可。我不在乎年份或时间分量。
使用我当前的代码,DAY 似乎被正确解析,但 MONTH 始终设置为一月。
Thu Jan 01 00:00:00 UTC 1970
Sun Jan 25 00:00:00 UTC 1970
我希望它是 1970 年 1 月 1 日星期四 00:00:00 UTC 1970 年 5 月 25 日星期日 00:00:00 UTC
真的很感激一些想法。
【问题讨论】:
标签: java string date simpledateformat date-formatting