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      总秒数

 

posted @ 2023-06-01 10:27  海乐学习  阅读(689)  评论(0编辑  收藏  举报