FormatTime类:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @author Canser
*/
public class FormatTime {
/**
* 格式化时间字符串并返回Date类型的时间
*
* @param time 时间字符串
* @param formatString 时间格式化类型,可传空值,为空值时默认为"yyyy-MM-dd HH:mm:ss"
* @return 返回Date类型的时间
*/
public static Date formatTime(String time, String formatString) {
try {
if ("".equals(formatString)) {
return formatTime(time);
}
return new SimpleDateFormat(formatString).parse(time);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
/**
* 格式化时间字符串并返回Date类型的时间
* 时间格式化类型默认为"yyyy-MM-dd HH:mm:ss"
*
* @param time 时间字符串
* @return 返回Date类型的时间
*/
public static Date formatTime(String time) {
try {
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(time);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
}
判断方法:
/**
* 计算开始时间、现在和结束时间的关系
*
* @param startTime 开始时间
* @param endTime 结束时间
* @return 当现在在开始时间之前,返回0,当现在在开始时间和结束时间之间,返回1,当现在在结束之间之后,返回2
*/
private static int judgeState(String startTime, String endTime) {
Date startDate = FormatTime.formatTime(startTime);
Date endDate = FormatTime.formatTime(endTime);
Date nowDate = new Date();
if (nowDate.compareTo(startDate) < 0) {
return 0;
} else if (nowDate.compareTo(endDate) <= 0) {
return 1;
} else {
return 2;
}
}
调用:
String startTime = "2021-10-14 14:00:00";
String endTime = "2021-10-14 18:00:00";
int status = judgeState(startTime, endTime);