致远的官方文档并没有说明如何在自定义函数中调用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