我正在尝试采用 3 个单独的整数输入(年、月、日)并采用这 3 个条目并从中形成一个日期对象,以便我可以使用它来比较其他日期。
这是我目前所拥有的,不知从何而来:
public void compareDates() {
String dayString = txtOrderDateDay.getText();
String monthString = txtOrderDateMonth.getText();
String yearString = txtOrderDateYear.getText();
int day = Integer.parseInt(dayString);
int month = Integer.parseInt(monthString);
int year = Integer.parseInt(yearString);
}
非常感谢您提供的任何帮助。
最佳答案
试试这个,注意月份从零开始,所以我们需要减去一个以正确指定月份:
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, month-1);
calendar.set(Calendar.DATE, day);
Date date = calendar.getTime();
或者这个:
Calendar calendar = Calendar.getInstance();
calendar.set(year, month-1, day);
Date date = calendar.getTime();
或者这个:
Date date = new GregorianCalendar(year, month-1, day).getTime();
第一种方法为您提供更多控制,因为它允许您设置日期中的其他字段,例如:DAY_OF_WEEK、DAY_OF_WEEK_IN_MONTH、DAY_OF_YEAR、WEEK_OF_MONTH、WEEK_OF_YEAR、MILLISECOND、MINUTE、HOUR、HOUR_OF_DAY
等等
最后,要按照注释中的指示正确格式化日期,请执行以下操作:
DateFormat df = new SimpleDateFormat("yyyy/MM/dd");
String strDate = df.format(date);
关于java - 取 3 个整数,创建一个日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10843965/