Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中,我如何按6个月的时间激励员工_Java_Date_Datetime - Fatal编程技术网

在Java中,我如何按6个月的时间激励员工

在Java中,我如何按6个月的时间激励员工,java,date,datetime,Java,Date,Datetime,我想在Java中增加6个月,目前我正在使用下面的代码。但它总是在第一个月印刷。你能告诉我我在这里犯了什么错误吗?我是Java初学者 这是我的输出: 当前日期:2013年11月1日 6个月后的日期:2013年11月7日 预期产出: 当前日期:2013年5月11日 6个月后的日期:2013年11月11日 String dt = "11-05-2013"; DateFormat formatter = new SimpleDateFormat("dd-mm-yyyy")

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

这是我的输出:

当前日期:2013年11月1日

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

预期产出:

当前日期:2013年5月11日

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

        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"); 

希望你能解决这个问题。作为备选答案,我建议使用JodaAPI。请查看文件。只需使用plusMonths(int months)方法将所需的月数添加到给定的日期时间


Joda提供了额外的功能,如日期差等。它非常适合普通用户。阅读更多关于

+1的内容我也认为是错误所在,你可以说目前他的月份被评估为分钟。非常感谢。。它现在可以工作:)干杯操作说明:mm代表分钟解析,mm代表月解析。@Luigimendoza感谢您验证我的大脑是否正常工作:)@AlexandreLavoie我最近晚上醒来时会发生这种情况(比如现在=\)@matsev不是重复的,只是一个解析错误:)另外,在修复格式化程序之后,您也可以使用它来输出日期:
formatter.format(now.getTime())
而不是获取单个字段。请向某人解释为什么
+1
日历。月份
?虽然这是完全正确的,但我发现仅仅为了解决这个问题而使用Joda API有点过分了。是的,我更喜欢对Java
Date
Calendar
类使用JodaAPI。刚才提到Joda是普通Date类的替代品。它解决了许多复杂的java日期问题。