org.joda.time.LocalDate#getDayOfWeek ( )源码实例Demo

下面列出了org.joda.time.LocalDate#getDayOfWeek ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: hive-third-functions   文件: UDFTypeOfDay.java
/**
 * Get whether is holiday or not.
 *
 * @param dateString the dateString in the format of "yyyyMMdd".
 * @return 1: 法定节假日, 2: 正常周末, 3: 正常工作日 4:攒假的工作日
 */
public IntWritable evaluate(Text dateString) {
    if (dateString == null) {
        return null;
    }

    try {
        String value = dayMap.get(dateString.toString());
        if (DayType.HOLIDAY.getCode().equalsIgnoreCase(value)) {
            result.set(1);
        } else if (DayType.WORKDAY.getCode().equalsIgnoreCase(value)) {
            result.set(4);
        } else {
            LocalDate date = LocalDate.parse(dateString.toString(), DEFAULT_DATE_FORMATTER);
            if (date.getDayOfWeek() < 6) {
                result.set(3);
            } else {
                result.set(2);
            }
        }

        return result;
    } catch (Exception e) {
        return null;
    }
}
 
源代码2 项目: chronos   文件: CronExpression.java
boolean matches(LocalDate dato) {
    for (FieldPart part : parts) {
        if ("L".equals(part.modifier)) {
            return dato.getDayOfWeek() == part.from && dato.getDayOfMonth() > (dato.dayOfMonth().getMaximumValue() - DAYS_PER_WEEK);
        } else if ("#".equals(part.incrementModifier)) {
            if (dato.getDayOfWeek() == part.from) {
                int num = dato.getDayOfMonth() / 7;
                return part.increment == (dato.getDayOfMonth() % 7 == 0 ? num : num + 1);
            }
            return false;
        } else if (matches(dato.getDayOfWeek(), part)) {
            return true;
        }
    }
    return false;
}
 
源代码3 项目: chronos   文件: CronExpression.java
boolean matches(LocalDate dato) {
    for (FieldPart part : parts) {
        if ("L".equals(part.modifier)) {
            return dato.getDayOfMonth() == (dato.dayOfMonth().getMaximumValue() - (part.from == null ? 0 : part.from));
        } else if ("W".equals(part.modifier)) {
            if (dato.getDayOfWeek() <= 5) {
                if (dato.getDayOfMonth() == part.from) {
                    return true;
                } else if (dato.getDayOfWeek() == 5) {
                    return dato.plusDays(1).getDayOfMonth() == part.from;
                } else if (dato.getDayOfWeek() == 1) {
                    return dato.minusDays(1).getDayOfMonth() == part.from;
                }
            }
        } else if (matches(dato.getDayOfMonth(), part)) {
            return true;
        }
    }
    return false;
}
 
源代码4 项目: cron   文件: CronExpression.java
boolean matches(LocalDate dato) {
    for (FieldPart part : parts) {
        if ("L".equals(part.modifier)) {
            return dato.getDayOfWeek() == part.from && dato.getDayOfMonth() > (dato.dayOfMonth().getMaximumValue() - DAYS_PER_WEEK);
        } else if ("#".equals(part.incrementModifier)) {
            if (dato.getDayOfWeek() == part.from) {
                int num = dato.getDayOfMonth() / 7;
                return part.increment == (dato.getDayOfMonth() % 7 == 0 ? num : num + 1);
            }
            return false;
        } else if (matches(dato.getDayOfWeek(), part)) {
            return true;
        }
    }
    return false;
}
 
源代码5 项目: cron   文件: CronExpression.java
boolean matches(LocalDate dato) {
    for (FieldPart part : parts) {
        if ("L".equals(part.modifier)) {
            return dato.getDayOfMonth() == (dato.dayOfMonth().getMaximumValue() - (part.from == null ? 0 : part.from));
        } else if ("W".equals(part.modifier)) {
            if (dato.getDayOfWeek() <= 5) {
                if (dato.getDayOfMonth() == part.from) {
                    return true;
                } else if (dato.getDayOfWeek() == 5) {
                    return dato.plusDays(1).getDayOfMonth() == part.from;
                } else if (dato.getDayOfWeek() == 1) {
                    return dato.minusDays(1).getDayOfMonth() == part.from;
                }
            }
        } else if (matches(dato.getDayOfMonth(), part)) {
            return true;
        }
    }
    return false;
}
 
源代码6 项目: actframework   文件: CronExpression.java
boolean matches(LocalDate dato) {
    for (FieldPart part : parts) {
        if ("L".equals(part.modifier)) {
            return dato.getDayOfWeek() == part.from && dato.getDayOfMonth() > (dato.dayOfMonth().getMaximumValue() - DAYS_PER_WEEK);
        } else if ("#".equals(part.incrementModifier)) {
            if (dato.getDayOfWeek() == part.from) {
                int num = dato.getDayOfMonth() / 7;
                return part.increment == (dato.getDayOfMonth() % 7 == 0 ? num : num + 1);
            }
            return false;
        } else if (matches(dato.getDayOfWeek(), part)) {
            return true;
        }
    }
    return false;
}
 
源代码7 项目: actframework   文件: CronExpression.java
boolean matches(LocalDate dato) {
    for (FieldPart part : parts) {
        if ("L".equals(part.modifier)) {
            return dato.getDayOfMonth() == (dato.dayOfMonth().getMaximumValue() - (part.from == null ? 0 : part.from));
        } else if ("W".equals(part.modifier)) {
            if (dato.getDayOfWeek() <= 5) {
                if (dato.getDayOfMonth() == part.from) {
                    return true;
                } else if (dato.getDayOfWeek() == 5) {
                    return dato.plusDays(1).getDayOfMonth() == part.from;
                } else if (dato.getDayOfWeek() == 1) {
                    return dato.minusDays(1).getDayOfMonth() == part.from;
                }
            }
        } else if (matches(dato.getDayOfMonth(), part)) {
            return true;
        }
    }
    return false;
}
 
源代码8 项目: jasperreports   文件: DateTimeFunctions.java
/**
 * Returns the number of working days between two dates (inclusive). Saturday and Sunday are not considered working days.
 */
@Function("NETWORKDAYS")
@FunctionParameters({
	@FunctionParameter("startDate"),
	@FunctionParameter("endDate")})
public Integer NETWORKDAYS(Object startDate, Object endDate){
	Date startDateObj = convertDateObject(startDate);
	if(startDateObj==null) {
		logCannotConvertToDate();
		return null;
	}
	Date endDateObj = convertDateObject(endDate);
	if(endDateObj==null){
		logCannotConvertToDate();
		return null;
	}
	else{
		LocalDate cursorLocalDate=new LocalDate(startDateObj);
		LocalDate endLocalDate=new LocalDate(endDateObj);
		int workingDays=0;
		if(cursorLocalDate.isAfter(endLocalDate)){
			// Swap data information
			LocalDate tmp=cursorLocalDate;
			cursorLocalDate=endLocalDate;
			endLocalDate=tmp;
		}
		while (Days.daysBetween(cursorLocalDate, endLocalDate).getDays()>0){
			int dayOfWeek = cursorLocalDate.getDayOfWeek();
			if(!(dayOfWeek==DateTimeConstants.SATURDAY || 
					dayOfWeek==DateTimeConstants.SUNDAY)){
				workingDays++;
			}
			cursorLocalDate=cursorLocalDate.plusDays(1);
		}
		return workingDays;
	}
}
 
private static DateTime getStartDayOfFirstBiWeek(DateTime date){
    LocalDate localDate = new LocalDate( date.getYear(), date.getMonthOfYear(), 1 );
    while ( localDate.getDayOfWeek() != DateTimeConstants.MONDAY ) {
        localDate = localDate.plusDays( 1 );
    }
    return localDate.toDateTimeAtStartOfDay();
}