【问题标题】:How to add 30 days to a XMLGregorianCalendar variable (Java & Authorize.net)如何将 30 天添加到 XMLGregorianCalendar 变量(Java 和 Authorize.net)
【发布时间】:2023-01-24 23:31:33
【问题描述】:
            GregorianCalendar gc = new GregorianCalendar();
            gc.setTime(new Date());
            XMLGregorianCalendar startDate = DatatypeFactory.newInstance().newXMLGregorianCalendar(gc);
            schedule.setStartDate(startDate); //2020-08-30
            
            XMLGregorianCalendar endDate = (XMLGregorianCalendar) startDate.clone();
            endDate.add(XMLGregorianCalendar.DAY_OF_MONTH, 30);

我收到Cannot resolve symbol 'DAY_OF_MONTH'

我为什么要使用 XMLGregorianCalendar?这是因为我使用 Authorize.net 作为支付网关,他们的官方文档说是https://developer.authorize.net/api/reference/index.html#recurring-billing-create-a-subscription

也试过endDate.add(DatatypeConstants.FIELD_UNDEFINED, 30);,但得到同样的错误

【问题讨论】:

  • 我猜它只是Calendar.DAY_OF_MONTH
  • 试过了但是得到了Expected 1 arguments but found 2

标签: java


【解决方案1】:

据我所见,add 方法需要一个 Duration 参数。 尝试这个: endDate.add(DatatypeFactory.newInstance().newDurationDayTime(true, 30, 0, 0, 0));

【讨论】:

    【解决方案2】:

    也许尝试:

    endDate.add(DatatypeFactory.newInstance().newDuration("P30DT0H0M0S"));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-08
      • 1970-01-01
      • 2017-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-03
      相关资源
      最近更新 更多