java - 如何在 Java 中将日期增加 6 个月

标签 java date datetime

<分区>

我想在 Java 中将月份增加 6,目前我正在使用以下代码。但它总是打印第一个月。你能告诉我我在这里做错了什么吗?我是 Java 初学者。

这是我的输出:

当前日期:11-1-2013

6 个月后的日期:11-7-2013

预期输出:

当前日期:11-05-2013

6 个月后的日期:11-11-2013

        String dt = "11-05-2013";
        DateFormat formatter = new SimpleDateFormat("dd-mm-yyyy"); 
        Date date = null;
        try {
            date = (Date)formatter.parse(dt);
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }


        Calendar now = Calendar.getInstance();    
        now.setTime(date);



        System.out.println("Current date : " + now.get(Calendar.DATE)+ "-" +(now.get(Calendar.MONTH) + 1) + "-"
             + now.get(Calendar.YEAR));

        now.add(Calendar.MONTH, 6);

        System.out.println("date after 6 months : " +  now.get(Calendar.DATE)+"-" + (now.get(Calendar.MONTH) + 1) + "-"
             + now.get(Calendar.YEAR));

最佳答案

尝试使用大写字母 M:

DateFormat formatter = new SimpleDateFormat("dd-MM-yyyy"); 

关于java - 如何在 Java 中将日期增加 6 个月,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16932228/

相关文章:

java - 解析包含 XML 的字符串后,XML 文档为 null

java - (AES加密)代码缺陷,应该注意什么? [提供代码][Java]

javascript - 如何将期权日期设置为昨天今天和明天?

python - 将 numpy.datetime64 转换为 int 时出错

python - Django 从 models.DateTimeField 获取月份

Python strftime 德语日期字符串

java - Java中两个列表之间的关系

java - Android:具有最大小数和最大数字的 EditText

mysql - 连接两个表,不同日期频率的MySQL

sql - 甲骨文日期/按问题排序