致远的官方文档并没有说明如何在自定义函数中调用java库,前几天有一个需求,根据日期和班组序号计算当班的接班日期时间和交班日期时间。
1 // 第一个参数 2 def startDate_s=param[0] 3 // 第二个参数 4 def group_index = param[1] 5 // 定义日期格式 6 def dateFormat = new java.text.SimpleDateFormat("yyyy-MM-dd") 7 // 将日期字符串解析为Date 8 def startDate = dateFormat.parse(startDate_s) 9 // 日历实例 10 def calendar = java.util.Calendar.getInstance(); 11 // 设置日期 12 calendar.setTime(startDate); 13 int hours_add=8*group_index; 14 // 日期+小时 15 calendar.add( java.util.Calendar.HOUR_OF_DAY, hours_add); 16 // 得到新的日期时间 17 def newDate = calendar.getTime(); 18 // 定义日期时间格式 19 def dateTimeFormat = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss") 20 // 格式化输出日期时间字符串 21 def startDatetime_s= dateTimeFormat.format(newDate) 22 // 返回结果 23 return startDatetime_s