我有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 + "\"");
        }

最佳答案

我使用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可以使用从零开始的月份。

关于java - 日期格式为Java?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13485038/

10-11 19:57
查看更多