62,614
社区成员
发帖
与我相关
我的任务
分享
SimpleDateFormat d = new SimpleDateFormat("MM/dd");
String date = "01/30";
System.out.println(date.equals(d.format(d.parse(date))));
public static void main(String[] args) {
// 正确输入
final String input = new SimpleDateFormat("MM/dd").format(new Date());
// 错误输入
// String input = "6/12";
System.out.println("Input is: " + input);
// 正则版本
Matcher mx = Pattern.compile("([01][0-9])/([0-3][0-9])").matcher(input);
if(mx.matches()) {
String m = mx.group(1), d = mx.group(2);
int month = Integer.parseInt(m), day = Integer.parseInt(d);
if(month > 0 && month <= 12 && day > 0 && day <= 31) {
System.out.println("Match " + month + "/" + day);
}
}
// 非正则版本
try {
int month = Integer.parseInt(input.substring(0, 2));
char separator = input.charAt(2);
int day = Integer.parseInt(input.substring(3));
if(month >= 1 && month <= 12 && separator == '/' && day >= 1 && day <= 31 ){
System.out.println("Right Date format: " + month + separator + day);
} else {
System.out.println("Wrong Date format! " + input);
}
} catch (NumberFormatException e) {
System.out.println("Wrong Date format! " + input);
}
}