【问题标题】:Calendar.add not returning expected dateCalendar.add 不返回预期日期
【发布时间】:2011-05-13 17:36:43
【问题描述】:

我有以下代码:

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 date calendar add


    【解决方案1】:

    它在桌面和 Android 设备上都适用于我。不知道为什么你会得到不正确的日期。

    编辑:您使用的是什么特定的手机,它在哪个时区?

    【讨论】:

    • 这是在模拟器上,时区是格林威治标准时间。
    • 于是我再次调试了代码并意识到我做错了什么。 initialDate 在我的代码中作为参数传入 - 我在上面的示例中提供了正确格式的日期,但传递参数的日期格式是 yyyy-MM-dd HH:mm:ss。
    猜你喜欢
    • 1970-01-01
    • 2013-03-22
    • 2012-02-04
    • 2012-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多