java如何在一个类(非主类)里实现日期间的计算

准确的来说我想问一问如何在一个非主类的类里面使用parse()方法

import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.util.Calendar;
public class Test{
    public static void main(String args[]){
        String beginTime = "2022-03-13";
        String endTime = "2022-04-14";
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        Calendar cal = Calendar.getInstance();
         long time1 = 0;
         long time2 = 0;
         try{
               cal.setTime(format.parse(beginTime));
               time1 = cal.getTimeInMillis();
               cal.setTime(format.parse(endTime));
               time2 = cal.getTimeInMillis();
         }catch(Exception e){
             e.printStackTrace();
        }
         long between_days=(time2-time1)/(1000*3600*24);
        System.out.println(between_days);
    }
}
   为什么用了SimpleDateFormat里的parse函数就一定要用try catch抛出ParseException异常啊,那不就是只能在主类里实现这一功能了么。如果我想在一个其他类里面实现这一功能该怎么办呢
    就是怎么在一个类里将一个String类型的时间转换成getTimeInMillis的那个类型进行计算。

上面这些内容都是我在网上零零散散搜索学习乱敲出来的,没系统学过Calendar和Date这俩,还请见谅。

我按我的理解整理了一个例子,你参考一下吧:

package com.example;

import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.util.Calendar;
import java.util.Date;

class DateFormat {
    private String format;

    public DateFormat(String format) {
        this.format = format;
    }

    public Date parse(String time) {
        SimpleDateFormat format = new SimpleDateFormat(this.format);
        try {
            Date date = format.parse(time);
            return date;
        } catch (ParseException e) {
            System.out.println("输入时间格式错误!");
            return null;
        }

    }
}

public class AppTest {
    public static void main(String args[]) {
        String beginTime = "2022-03-13";
        String endTime = "2022-04-14";
        DateFormat format = new DateFormat("yyyy-MM-dd");
        Calendar cal = Calendar.getInstance();
        long time1 = 0;
        long time2 = 0;
        try {
            cal.setTime(format.parse(beginTime));
            time1 = cal.getTimeInMillis();
            cal.setTime(format.parse(endTime));
            time2 = cal.getTimeInMillis();
        } catch (Exception e) {
            e.printStackTrace();
        }
        long between_days = (time2 - time1) / (1000 * 3600 * 24);
        System.out.println(between_days);
    }
}


如有帮助,请采纳!