Calendar.add没有返回预期日期
问题描述:
我有以下代码:Calendar.add没有返回预期日期
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-dd-MM HH:mm:ss");
Date convertedDate;
String initialDate = "2011-13-05 11:00:00";
try {
Calendar cal = Calendar.getInstance();
cal.setTime(dateFormat.parse(initialDate));
cal.add(Calendar.DAY_OF_MONTH, 7);
convertedDate = cal.getTime();
String delayDate = dateFormat.format(convertedDate);
} catch (ParseException e) {
e.printStackTrace();
}
我期待delayDate含有“2011-20-05 11:00:00”,而是它返回“2012-12 -01 11:00:00“,我不知道为什么
答
它适用于我在桌面和Android设备上。不知道为什么你得到不正确的日期。
编辑:你使用了什么特定的手机,它在什么时区?
这是在模拟器上,时区是GMT。 – fujih 2011-05-14 10:39:45
所以我再次调试代码,并意识到我做错了什么。 initialDate作为参数传入我的代码中 - 我在上面的例子中提供了正确格式的日期,但传递参数的日期格式是yyyy-MM-dd HH:mm:ss。 – fujih 2011-05-14 11:03:39