Java 一个函数返回两个以上的值
正常函数只有一个返回值,但我们用数组来做为返回值,这样就可以实现一个函数返回多个值
以 计算时间差 函数为例
//获取时间间隔 public static String[] getTimeInterval(String strStartTime, String strStopTime) { String arrStr[] = new String[2]; try { DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date startTime = df.parse(strStartTime); Date stopTime = df.parse(strStopTime); DecimalFormat decimalFormat = new DecimalFormat("00"); long diff = stopTime.getTime() - startTime.getTime();//得到的差值 //logger.debug("------ " + diff); long hours = diff / (1000 * 60 * 60); //获取时 long minutes = (diff - hours * (1000 * 60 * 60)) / (1000 * 60); //获取分钟 long s = (diff / 1000 - hours * 60 * 60 - minutes * 60);//获取秒 String countTime = "" + decimalFormat.format(hours) + ":" + decimalFormat.format(minutes) + ":" + decimalFormat.format(s); long second = (diff / 1000);//获取 共有多少秒 String strTimeLenS = second + ""; arrStr[0] = countTime;//00:12:50 时间格式 arrStr[1] = strTimeLenS;//140 总秒数 return arrStr; } catch (Exception ex) { logger.error("getTimeInterval() 获取时间间隔 " + strStartTime + " "+strStopTime + ex.toString()); arrStr[0] = "-1";//00:12:50 时间格式 arrStr[1] = "-1";//140 总秒数 return arrStr; } }
调用方法:
String strSartTime="2023-05-31 15:28:21"; //开始时间 String strStopTime="2023-05-31 16:18:05"; //结束时间 //获取时间间隔 String arrStr[]=getTimeInterval(strSartTime, strStopTime); String strTimeLen=arrStr[0]; //00:12:50 时间格式 String strTimeLenS=arrStr[1]; //140 总秒数