字符串到日期+处理+日期到字符串



我正在使用WODM规则设计器V7.5,我的XOM是一个XSD

我应该将交易日期与当前日期进行比较,所以如果客户进行交易,他的账户到期日期应该增加一年!

日期在我的XOM字符串,所以在BOMBOM TO XOM MAPPING部分我创建了2个方法:

  • 以字符串形式返回实际日期,表示为:日历上的今天

    DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
    Date date = new Date();
    String s = dateFormat.format(date);
    return s;
    
  • 接受字符串,将其转换为日期格式,在年份上加1并返回字符串,表示为:{this} NewDate ({0})

    String[] splitdata = d1.split("-");
    int month = Integer.parseInt(splitdata[0]);
    int day = Integer.parseInt(splitdata[1]);
    int year = Integer.parseInt(splitdata[2]);
    Calendar cal = Calendar.getInstance();
    cal.set(year, month, day);
    Date date = cal.getTime();
    date.setYear(date.getYear() + 1);
    DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
    String s = dateFormat.format(date);
    return s;
    

规则如下:

definitions 
set 'variable1' to calendar NewDate (the transaction date of transaction) ; 
if 
    the transaction date of transaction is today on the calendar 
    then 
        set the expiration date of account to variable1 ; 

我像这样输入交易日期:"2013-05-13",我期望在截止日期变量中:"2014-05-13",但是我得到了这个0181-10-05

有人能帮忙吗?谢谢。

您分割字符串的方式是错误的,因为年份作为第一个字段输入,并且您试图从该字段获取日期,这是字段的顺序问题。

本质上,你的代码应该包含(注意索引):
int month=Integer.parseInt(splitdata[1]); 
int day=Integer.parseInt(splitdata[2]); 
int year=Integer.parseInt(splitdata[0]);

相关内容

  • 没有找到相关文章

最新更新