如何将int值与多个字符串值进行比较。所以它适用于数据库。无法转换价值

问题描述 投票:1回答:2

目前我在Groovy函数中使用if语句来比较它并且它不起作用。

if ((StartDate<=${Day}) && (${Day}<=EndDate))
   return 1
else
  return 0

所以男人或女孩可以帮助我,并使用Java键入代码如何做到这一点?或修复此代码,因为我没有想法。

我收到错误:

无法在函数Func2中转换列StartDate的值10-08-2018:无法将列StartDate中的值10-08-2018转换为类型java.lang.Short

java date groovy date-comparison
2个回答
1
投票

我想你想要比较日期元素。您可以将完整的日期实例拆分为月,日和年,如下所示:

LocalDate date = LocalDate.now();
int day = date.getDayOfMonth();
int month = date.getMonthValue();
int year = date.getYear();

希望这有助于使条件正确。


0
投票

这是使用java.util.date的一个解决方案:

SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyy");
    try {

        Date dStart = sdf.parse("01.01.2001");
        Date dEnd = sdf.parse("01.01.2002");
        Date dCurrent = sdf.parse("01.06.2001");
        if(dStart.before(dCurrent) && dEnd.after(dCurrent)) {
            //return true / 1 here
        }
        else {
            //return false / 0 here
        }

    } catch (ParseException e) {
        e.printStackTrace();
    }
© www.soinside.com 2019 - 2024. All rights reserved.