當前位置: 首頁>>代碼示例>>Java>>正文


Java Interval.overlaps方法代碼示例

本文整理匯總了Java中org.joda.time.Interval.overlaps方法的典型用法代碼示例。如果您正苦於以下問題:Java Interval.overlaps方法的具體用法?Java Interval.overlaps怎麽用?Java Interval.overlaps使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.joda.time.Interval的用法示例。


在下文中一共展示了Interval.overlaps方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: getExceptionEvents

import org.joda.time.Interval; //導入方法依賴的package包/類
public static List<Interval> getExceptionEvents(List<ExceptionWorkingHours> hours, LocalDate date, RestrictionType restrictionType) {
    List<Interval> exceptions = new ArrayList<>();
    for (ExceptionWorkingHours ewh : hours) {
        boolean isApplicable =
                (restrictionType == RestrictionType.RESTRICTIVE && ewh.isOutOfService()) ||
                        (restrictionType == RestrictionType.NON_RESTRICTIVE && !ewh.isOutOfService());
        if (isApplicable) {
            DateTime start = new DateTime(ewh.getStartDate()).plusMillis(ewh.getStartDateTimezoneOffset());
            DateTime end = new DateTime(ewh.getEndDate()).plusMillis(ewh.getEndDateTimezoneOffset());
            Interval exception = new Interval(start, end);
            Interval wholeDay = date.toInterval();
            if (exception.contains(wholeDay) || exception.equals(wholeDay)) {
                exceptions.clear();
                exceptions.add(wholeDay);
                break;
            }
            if (exception.overlaps(wholeDay)) {
                exceptions.add(new Interval(exception.getStart(), exception.getEnd()));
            }
        }
    }
    return exceptions;
}
 
開發者ID:CSCfi,項目名稱:exam,代碼行數:24,代碼來源:DateTimeUtils.java

示例2: timeConflicts

import org.joda.time.Interval; //導入方法依賴的package包/類
/**
 * checks strictly for time conflicts; DOES NOT CHECK FOR DAY CONFLICTS
 * @param course the course for which to check for conflicts
 * @return boolean
 */
public boolean timeConflicts(Course course, Course c){
	String pattern="hh:mmaa";
	DateTime courseStart=DateTime.parse(course.getTime().substring(0, course.getTime().indexOf('-')), DateTimeFormat.forPattern(pattern));
	DateTime courseEnd=DateTime.parse(course.getTime().substring(course.getTime().indexOf('-')+1), DateTimeFormat.forPattern(pattern));
	Interval courseInterval=new Interval(courseStart, courseEnd);
	
	DateTime cStart=DateTime.parse(c.getTime().substring(0, c.getTime().indexOf('-')), DateTimeFormat.forPattern(pattern));
	DateTime cEnd=DateTime.parse(c.getTime().substring(c.getTime().indexOf('-')+1), DateTimeFormat.forPattern(pattern));		
	Interval cInterval=new Interval(cStart, cEnd);
	
	if(courseInterval.overlaps(cInterval)){
		return true;
	}
	return false;
}
 
開發者ID:mrjones2014,項目名稱:FixedIt,代碼行數:21,代碼來源:Schedule.java

示例3: intersect

import org.joda.time.Interval; //導入方法依賴的package包/類
/**
 * Return the intersection of all subintervals in two interval lists.
 *
 * @param that  A simplified list of intervals
 *
 * @return A new simplified interval list whose intervals are all subintervals of this and that.
 */
public SimplifiedIntervalList intersect(SimplifiedIntervalList that) {
    Iterator<Interval> theseIntervals = this.iterator();
    Iterator<Interval> thoseIntervals = that.iterator();
    Interval thisCurrent = getNextIfAvailable.apply(theseIntervals);
    Interval thatCurrent = getNextIfAvailable.apply(thoseIntervals);
    List<Interval> collected = new ArrayList<>();

    while (thisCurrent != null && thatCurrent != null) {
        if (thisCurrent.overlaps(thatCurrent)) {
            collected.add(thisCurrent.overlap(thatCurrent));
        }
        if (thisCurrent.isBefore(thatCurrent.getEnd())) {
            thisCurrent = getNextIfAvailable.apply(theseIntervals);
        } else {
            thatCurrent = getNextIfAvailable.apply(thoseIntervals);
        }
    }
    return new SimplifiedIntervalList(collected);
}
 
開發者ID:yahoo,項目名稱:fili,代碼行數:27,代碼來源:SimplifiedIntervalList.java

示例4: contains

import org.joda.time.Interval; //導入方法依賴的package包/類
public static boolean contains(List<Interval> intervals, Interval query) {
    try {
        for (Interval in : intervals) {
            if (in.overlaps(query)) {
                return true;
            }
        }
        return false;
    } catch (Exception e) {
        log.warn("Failed to check whether {} overlaps with {}", query, intervals);
        return false;
    }
}
 
開發者ID:RWTH-i5-IDSG,項目名稱:xsharing-services-router,代碼行數:14,代碼來源:DateTimeUtils.java


注:本文中的org.joda.time.Interval.overlaps方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。