我有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/