Srishtiシン:
私が持っているArrayList
以下の通り:
dates : [
"1981-1990",
"1971-1980",
"1991-2000"
]
リスト内の値は、年の範囲かそうでないかどうかを確認するために:私はチェックを実行したいと思います。
EDITEDは:時々私は「YYYY-MM-DD」と時々年の範囲のような適切な日付形式を取得します。私は両方の条件で動作するように私の機能が欲しいです。日付が現在または年の範囲である場合は、日付としてそれを識別する必要があります。それで全部です
YCF_L:
あなたは使用することができた年で年:: isBeforeからのjava-時間そうのようなAPI:
String[] ranges = {"1981-1990", "1971-1980", "1991-2000"};
for (String range : ranges) {
String[] dates = range.split("-");
if (Year.parse(dates[0]).isBefore(Year.parse(dates[1]))) {
System.out.println("Correct range");
} else {
System.out.println("Wrong range");
}
}
あなたの編集後、私はここで、この解決策となるだろう。
String[] dates = {"1981-1990", "2020-02-25", "1971-1980", "1998-02-25", "1991-2000"};
for (String date : dates) {
if (date.matches("\\d{4}-\\d{4}")) {
String[] split = date.split("-");
if (Year.parse(split[0]).isBefore(Year.parse(split[1]))) {
System.out.println("Correct range");
} else {
System.out.println("Wrong range");
}
} else {
try {
LocalDate.parse(date);
System.out.println("Correct date");
} catch (DateTimeParseException ex) {
System.out.println("Wrong date");
}
}
}