diff --git a/das/src/main/java/com/das/modules/calc/functions/FunctionOffsetDate.java b/das/src/main/java/com/das/modules/calc/functions/FunctionOffsetDate.java index 67582de4..100ef18d 100644 --- a/das/src/main/java/com/das/modules/calc/functions/FunctionOffsetDate.java +++ b/das/src/main/java/com/das/modules/calc/functions/FunctionOffsetDate.java @@ -30,27 +30,27 @@ public class FunctionOffsetDate extends AbstractFunction { public AviatorObject call(Map env, AviatorObject dateData, AviatorObject dimData, AviatorObject offsetData) { Date date = (Date) dateData.getValue(env); String dim = (String) dimData.getValue(env); - Integer offset = (Integer) offsetData.getValue(env); + Long offset = (Long) offsetData.getValue(env); Date result = null; switch (dim) { case "day": - result = DateUtil.offset(date, DateField.DAY_OF_MONTH, offset); + result = DateUtil.offset(date, DateField.DAY_OF_MONTH, offset.intValue()); break; case "month": - result = DateUtil.offset(date, DateField.MONTH, offset); + result = DateUtil.offset(date, DateField.MONTH, offset.intValue()); break; case "year": - result = DateUtil.offset(date, DateField.YEAR, offset); + result = DateUtil.offset(date, DateField.YEAR, offset.intValue()); break; case "hour": - result = DateUtil.offset(date, DateField.HOUR, offset); + result = DateUtil.offset(date, DateField.HOUR, offset.intValue()); break; case "minute": - result = DateUtil.offset(date, DateField.MINUTE, offset); + result = DateUtil.offset(date, DateField.MINUTE, offset.intValue()); break; case "second": - result = DateUtil.offset(date, DateField.SECOND, offset); + result = DateUtil.offset(date, DateField.SECOND, offset.intValue()); break; default: log.error("不支持的维度: {}", dim);