当前位置: 首页>>代码示例>>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;未经允许,请勿转载。