第一个Gotcha:通过一个月份2可能会给你一些意想不到的:月是零为基础,这意味着2实际上是3月。
我不知道你正在寻找什么是“简单”的方式,因为我觉得使用日历已经够轻松了。
请记住使用正确的月份常数:
Date date = new GregorianCalendar(2014, Calendar.FEBRUARY, 11).getTime();
另一种方法是使用DateFormat,我通常有一个这样的util:
public static Date parseDate(String date) {
try {
return new SimpleDateFormat("yyyy-MM-dd").parse(date);
} catch (ParseException e) {
return null;
}
}
所以我可以简单的写
Date myDate = parseDate("2014-02-14");
另一种替代方案我更喜欢:不要再使用Java日期/日历了。切换到JODA时间或Java时间(也称为JSR310,可在JDK 8中使用)。您可以使用LocalDate来表示一个日期,可以轻松创建一个日期
LocalDate myDate =LocalDate.parse("2014-02-14");
// or
LocalDate myDate2 = new LocalDate(2014, 2, 14);
// or, in JDK 8+ Time
LocalDate myDate3 = LocalDate.of(2014, 2, 14);