英文:
Implement string search field for a Date
问题
我正在尝试实现一个字符串搜索字段,用于搜索日期。完整的日期格式如下:
2020-10-10
我将这个字符串解析为日期,并在数据库中搜索这个日期的条目。我可以创建一个辅助类,像这样检查输入的字符串是否是有效的日期:
public class DateValidatorUsingDateFormat implements DateValidator {
private String dateFormat;
public DateValidatorUsingDateFormat(String dateFormat) {
this.dateFormat = dateFormat;
}
@Override
public boolean isValid(String dateStr) {
DateFormat sdf = new SimpleDateFormat(this.dateFormat);
sdf.setLenient(false);
try {
sdf.parse(dateStr);
} catch (ParseException e) {
return false;
}
return true;
}
}
如果我想输入:
2020
并且搜索所有来自2020年的条目怎么办?或者可能是:
2019-10
并且搜索所有来自2019年10月的条目怎么办?
英文:
I am trying to implement a String search field that will search for a Date. Whole date will be like
2020-10-10
I am parsing this String to a date and searching in the database for entries on this date. I can create a helper class and check if the input String is a valid date like this
public class DateValidatorUsingDateFormat implements DateValidator {
private String dateFormat;
public DateValidatorUsingDateFormat(String dateFormat) {
this.dateFormat = dateFormat;
}
@Override
public boolean isValid(String dateStr) {
DateFormat sdf = new SimpleDateFormat(this.dateFormat);
sdf.setLenient(false);
try {
sdf.parse(dateStr);
} catch (ParseException e) {
return false;
}
return true;
}
}
What if I want to input
2020
and search for all entries from 2020 year ? Or maybe
2019-10
and search for all entries from Octomber 2019 ?
专注分享java语言的经验与见解,让所有开发者获益!
评论