我需要编写一个程序来验证给定日期是否有效或无效。日期是mm / dd / yyyy格式,我需要找出一种方法将字符串拆分为几个月,几天和几年,以确定日期是否有效。我不能单独输入月份日和年份,因此这会导致问题。基本上我只需要弄清楚如何分割不同月份的字符串,这样我就可以使用每个月的天数并使用它来验证日期。你可以给我的任何帮助真的很感激我坚持这个并且无法弄明白。谢谢。
答案 0 :(得分:2)
您应该像其他建议一样使用DateFormat
。如果这不是一个选项,我想你可以这样做:
String myDate = "10/23/1991";
String[] split = myDate.split('/');
String month = split[0];
String day = split[1];
String year = split[2];
答案 1 :(得分:1)
几乎永远不是一个好主意来自己解析一个日期。日期是神秘的东西:闰秒,闰年,时区等是一件非常复杂的事情。
要检查日期,我真的建议使用该函数(或库)的java函数。这是一个例子:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Snippet {
public static void main(String[] args) throws ParseException {
// define your own date format
SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy");
// for strict parsing of dates, turn of lenient mode
dateFormat.setLenient(false);
// try to parse the date
Date date = dateFormat.parse("13/31/1604");
// if no exception occurs, your date is a valid date
System.out.println("date valid");
}
}
答案 2 :(得分:0)
尝试使用SimpleDateFormat
Date date = null;
try {
String target = "07/30/1991";
DateFormat df = new SimpleDateFormat("M/d/yyyy", Locale.ENGLISH);
date = df.parse(target);
} catch (ParseException ex) {
date = null;
}
if (date != null) {
// Or you use the deprecated methods .. just saying
Calendar cal = Calendar.getInstance();
cal.setTime(date);
int day = cal.get(Calendar.DAY_OF_MONTH);
int month = cal.get(Calendar.MONTH);
int year = cal.get(Calendar.YEAR);
}