0

我有 3 个用于月、日和年的 int 变量。

如何将它们转换为java.util.Date对象(或其他)。

例如,月 = 12,日期 = 20,年 = 2011

它应该以中等日期格式打印:**Dec 20, 2011**

非常感谢!

在这里编辑我的尝试:

String yourBirthDay = Integer.toString(birthMonth) + "." + Integer.toString(birthDay) + "." + Integer.toString(birthYear);
        DateFormat format = DateFormat.getDateInstance(DateFormat.SHORT);

        try {
            Date date = format.parse(yourBirthDay);
            System.out.println("Your birth date is : " + date.toString());

        } catch (ParseException pe) {
            System.out.println("ERROR: could not parse date in string \""
                    + yourBirthDay + "\"");
        }
4

1 回答 1

6

我使用Calendar.set(int year,int month, int date)做了这个小测试:

@Test
public void testDate() throws ParseException {

    int year = 2011, month = 12, date = 20;

    Calendar calendar = Calendar.getInstance();

    calendar.set(year, month - 1, date);

    Date javaDate = calendar.getTime();

    // SimpleDateFormat format = new SimpleDateFormat("MMM dd, yyyy");

    DateFormat format = DateFormat.getDateInstance(DateFormat.MEDIUM);

    String stringDate = format.format(javaDate);

    assertEquals("Dec 20, 2011", stringDate);

}

您需要从月份中删除 1,因为 java.util.Calendar 使用从零开始的月份。

于 2012-11-21T01:42:52.950 回答