在Java 8,使用LocalDate
和DateTimeFormatter
:
String startDateString = "16/02/2006";
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("dd/MM/uuuu");
LocalDate localDate = LocalDate.parse(startDateString, dateTimeFormatter);
if (localDate.getYear() < 2006) {
// code here
}
如果您需要支持旧版本的Java,使用Calendar
和SimpleDateFormat
:
String startDateString = "16/02/2006";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yyyy");
Date date = simpleDateFormat.parse(startDateString);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
if (calendar.get(Calendar.YEAR) < 2006) {
// code here
}
在Java 7,您可以通过从ThreeTen project获得新java.time
API的反向移植做了Java 8路。
优势:当更高版本升级到Java 8,不需要在Java 8需要一个额外的库
或者代码将工作,增加Joda-Time并使用其LocalDate
和DateTimeFormat
:
String startDateString = "16/02/2006";
DateTimeFormatter formatter = DateTimeFormat.forPattern("dd/MM/yyyy");
LocalDate localDate = formatter.parseLocalDate(startDateString);
if (localDate.getYear() < 2006) {
// code here
}
门槛不正确的单词我认为,因为门槛是包容性的,如<=。因为它是独一无二的,所以请使用tooLate。 –
您使用的是Java 8吗?如果是这样,你应该使用从Joda派生的'java.time'类。 –