50,530
社区成员
发帖
与我相关
我的任务
分享
public static List<Date> dateSort(Date startTime,Date endTime,Date startTimeTwo,Date endTimeTwo){
List<Date> datelist = new ArrayList<Date>();
datelist.add(startTime);
datelist.add(endTime);
datelist.add(startTimeTwo);
datelist.add(endTimeTwo);
for (int j = 0; j < datelist.size(); j++) {
for (int i = 1; i < datelist.size(); i++) {
if(datelist.get(i-1).after(datelist.get(i))){
Date temp = datelist.get(i-1);
datelist.set(i-1, datelist.get(i));
datelist.set(i, temp);
}
}
}
return datelist;
}
/**
* 获取两个时间的交集天数,为空报错,没有交集时返回0
* @param startTime
* @param endTime
* @param startTimeTwo
* @param endTimeTwo
*/
public static long getTimeIntersection(Date startTime,Date endTime,Date startTimeTwo,Date endTimeTwo){
List<Date> listdate = dateSort(startTime, endTime, startTimeTwo, endTimeTwo);
int i = listdate.indexOf(endTime);
long subday = 0;//交集天数
// i>1说明有交集
if(i>1){
//交集天数为索引为 1,2的差,这个是用来求两个时间的差的函数不在这个讨论范围就不粘贴出来了
subday = getTimeSub(listdate.get(1), listdate.get(2), DateUtil.DAY);
}
return subday;
}
public static boolean stringTdate(String[] arg1, String[] arg2) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date d10 = sdf.parse(arg1[0]);
Date d11 = sdf.parse(arg1[1]);
Date d20 = sdf.parse(arg2[0]);
Date d21 = sdf.parse(arg2[1]);
if (d10.compareTo(d11)<0 & d20.compareTo(d21)<0) {
if (d11.compareTo(d20)>0) {
return true;
}
else return false;
}
if(d10.compareTo(d11)>0 & d20.compareTo(d21)<0) {
if (d10.compareTo(d20)>0) {
return true;
}
else return false;
}
if(d10.compareTo(d11)>0 & d20.compareTo(d21)>0) {
if (d10.compareTo(d21)>0) {
return true;
}
else return false;
}
else {
if (d11.compareTo(d21)>0) {
return true;
}
else return false;
}
}
public static String comparisonRQ(String str1, String str2, String str3,
String str4) throws Exception {
String mesg = "";
// SimpleDateFormat rq = new SimpleDateFormat("yyyy-MM-dd");
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
try {
Date dt1 = df.parse(str1);
Date dt2 = df.parse(str2);
Date dt3 = df.parse(str3);
Date dt4 = df.parse(str4);
if (dt1.getTime() < dt3.getTime() && dt3.getTime() < dt2.getTime()) {
mesg = "f";//重合
}
if (dt1.getTime() < dt4.getTime() && dt3.getTime() < dt2.getTime()) {
mesg = "f";//重合
}
}catch (ParseException e) {
e.printStackTrace();
throw new ParseException(e.getMessage(), 0);
}catch(Exception e){
e.printStackTrace();
throw new Exception(e);
}
return mesg;
}