【问题标题】:How can i Increment a date(dd-MM-yyyy) by 90 days in java [duplicate]我如何在java中将日期(dd-MM-yyyy)增加90天[重复]
【发布时间】:2016-05-11 07:31:10
【问题描述】:

我有一种情况,用户必须在创建请求时选择一个日期,并且该请求将在他选择的日期起 90 天内有效。我将如何在我的代码中实现这个逻辑?我试过了,但我想我没有逻辑。

【问题讨论】:

标签: java


【解决方案1】:

要以“yyyy-MM-dd”格式指定日期,您需要 SimpleDateFormat 对象,一旦您拥有日历对象,您可以使用日历的 add() 方法将 90 天添加到日历中。此外,您不需要 SimpleDateFormat 来增加日历详细信息:

       SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy" ); //Not Required
        Date selectedDate=null;
        try {
            selectedDate=dateFormat.parse("10-11-1986");// replace it with selected date
            } catch (ParseException e) {
        }           

        Calendar cal = Calendar.getInstance();
        cal.setTime(selectedDate);
        System.out.println(" Selected Date: "+cal.getTime());
        cal.add( Calendar.DATE,90 );
        System.out.println("Date after 90 days: "+cal.getTime());

【讨论】:

  • 如果您使用 parse 方法解析日期,日期格式(“dd-MM-yyyy”)将出现在图片中。如果您使用当前日期,则不需要日期格式。或者 SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");会工作
  • 问题是我正在使用 datepicker 即 ......................在后端我将其与 @Column(name = "qdate") @DateTimeFormat(pattern = "dd-MM-yyyy") Date quoteDate; ................................这是要求,我只需要以这种格式保存日期
  • @MirMajidHussain 请检查修改后的代码,希望对您有所帮助
【解决方案2】:

您可以使用 Date api 的 setMonth() 和 getMonth() 方法。

Date date = new Date();
date.setMonth(date.getMonth()+3);

【讨论】:

  • 从 JDK 1.1 版开始,由 Calendar.set(Calendar.MONTH, int month) 取代。
  • 三个月不等于 90 天。
猜你喜欢
  • 2016-03-13
  • 1970-01-01
  • 2013-05-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-18
  • 1970-01-01
  • 2018-03-31
  • 1970-01-01
相关资源
最近更新 更多