准确的来说我想问一问如何在一个非主类的类里面使用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);
}
}
如有帮助,请采纳!