Java 取3个整数,创建一个日期

Java 取3个整数,创建一个日期,java,date,integer,Java,Date,Integer,我试图获取3个独立的整数输入(年、月、日),并获取这3个条目,并从中形成一个日期对象,以便使用它来比较其他日期 这就是我到目前为止所拥有的,不知从何处开始: public void compareDates() { String dayString = txtOrderDateDay.getText(); String monthString = txtOrderDateMonth.getText(); String yearString = txtOrderDateY

我试图获取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);
}
非常感谢您提供的任何帮助。

使用


试试这个,注意月份从零开始,所以我们需要减去1来正确指定月份:

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();
或者这个:

Calendar calendar = Calendar.getInstance();
calendar.set(year, month-1, day);
Date date = calendar.getTime();
Date date = new GregorianCalendar(year, month-1, day).getTime();
第一种方法为您提供了更多的控制,因为它允许您在日期中设置其他字段,例如:
DAY\u OF_WEEK,DAY\u OF_WEEK\u in_MONTH,DAY\u OF_YEAR,WEEK\u OF_MONTH,WEEK\u OF_YEAR,millis秒,MINUTE,HOUR,HOUR\u OF_DAY

最后,要正确格式化注释中所示的日期,请执行以下操作:

DateFormat df = new SimpleDateFormat("yyyy/MM/dd");
String strDate = df.format(date);

除此之外,请参考本图书馆,以方便您在该任务中的生活-

然后你要写这样的代码:

LocalDate ld = new LocalDate(int year, int monthOfYear, int dayOfMonth) ;
这个类提供了一系列有用的比较和操作方法,比如添加分钟数。。。看看它的文档

关于joda time的更多信息:

Joda Time为Java日期和时间类提供了高质量的替代品。该设计允许使用多个日历系统,同时还提供了一个简单的API。“默认”日历是XML使用的ISO8601标准。格里高利、朱利安、佛教、科普特、埃塞俄比亚和伊斯兰体系也包括在内,我们欢迎进一步增加。支持类包括时区、持续时间、格式和解析


你还试过别的吗?寻找一个名为
Date
或类似的java类?注意month是零基的。是的,我一直想知道为什么month是零基的,而dayOfMonth不是。不妨使用set(int-year,int-month,int-Date),不是吗?非常感谢,它工作得很好,但我想要的是:yyy/MM/DD这个输出(作为调试示例):Mon-Oct 15 04:29:51英国夏令时2012有可能删减吗?@speakon我用正确设置日期格式的代码更新了我的答案。如果你只需要把日期作为一个字符串,不用麻烦,只需在年年、月和日之间用“/”连接字符串。只需单击其左侧的复选标记。使用
日历
类的
before()
after()