java.time.Period#between ( )源码实例Demo

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

@Test
public void difference_between_two_dates_java8_period() {

	LocalDate sinceGraduation = LocalDate.of(1984, Month.JUNE, 4);
	LocalDate currentDate = LocalDate.now();

	Period betweenDates = Period.between(sinceGraduation, currentDate);

	int diffInDays = betweenDates.getDays();
	int diffInMonths = betweenDates.getMonths();
	int diffInYears = betweenDates.getYears();

	logger.info(diffInDays);
	logger.info(diffInMonths);
	logger.info(diffInYears);

	assertTrue(diffInDays >= anyInt());
	assertTrue(diffInMonths >= anyInt());
	assertTrue(diffInYears >= anyInt());
}
 
源代码2 项目: tutorials   文件: DateDiffUnitTest.java
@Test
public void givenTwoDatesInJava8_whenDifferentiating_thenWeGetSix() {
    LocalDate now = LocalDate.now();
    LocalDate sixDaysBehind = now.minusDays(6);

    Period period = Period.between(now, sixDaysBehind);
    int diff = Math.abs(period.getDays());

    assertEquals(diff, 6);
}
 
源代码3 项目: java-master   文件: DateTest.java
@Test
public void test2() {
    Period tenDays = Period.between(LocalDate.of(2014, 3, 8), LocalDate.of(2014, 3, 18));
    // Duration和Period类都提供了很多非常方便的工厂类,直接创建对应的实例:
    Duration threeMinutes = Duration.ofMinutes(3);
    threeMinutes = Duration.of(3, ChronoUnit.MINUTES);
    tenDays = Period.ofDays(10);
    Period threeWeeks = Period.ofWeeks(3);
    Period twoYearsSixMonthsOneDay = Period.of(2, 6, 1);
}
 
源代码4 项目: dragonwell8_jdk   文件: TCKPeriod.java
@Test(dataProvider="between")
public void factory_between_LocalDate(int y1, int m1, int d1, int y2, int m2, int d2, int ye, int me, int de) {
    LocalDate start = LocalDate.of(y1, m1, d1);
    LocalDate end = LocalDate.of(y2, m2, d2);
    Period test = Period.between(start, end);
    assertPeriod(test, ye, me, de);
    //assertEquals(start.plus(test), end);
}
 
源代码5 项目: jdk8u-dev-jdk   文件: TCKPeriod.java
@Test(dataProvider="between")
public void factory_between_LocalDate(int y1, int m1, int d1, int y2, int m2, int d2, int ye, int me, int de) {
    LocalDate start = LocalDate.of(y1, m1, d1);
    LocalDate end = LocalDate.of(y2, m2, d2);
    Period test = Period.between(start, end);
    assertPeriod(test, ye, me, de);
    //assertEquals(start.plus(test), end);
}
 
源代码6 项目: openjdk-jdk9   文件: TCKPeriod.java
@Test(dataProvider="between")
public void factory_between_LocalDate(int y1, int m1, int d1, int y2, int m2, int d2, int ye, int me, int de) {
    LocalDate start = LocalDate.of(y1, m1, d1);
    LocalDate end = LocalDate.of(y2, m2, d2);
    Period test = Period.between(start, end);
    assertPeriod(test, ye, me, de);
    //assertEquals(start.plus(test), end);
}
 
源代码7 项目: openjdk-jdk8u-backup   文件: TCKPeriod.java
@Test(dataProvider="between")
public void factory_between_LocalDate(int y1, int m1, int d1, int y2, int m2, int d2, int ye, int me, int de) {
    LocalDate start = LocalDate.of(y1, m1, d1);
    LocalDate end = LocalDate.of(y2, m2, d2);
    Period test = Period.between(start, end);
    assertPeriod(test, ye, me, de);
    //assertEquals(start.plus(test), end);
}
 
源代码8 项目: jdmn   文件: LocalDateType.java
@Override
public TemporalAmount dateSubtract(LocalDate first, LocalDate second) {
    if (first == null || second == null) {
        return null;
    }

    try {
        return Period.between(first, second);
    } catch (Exception e) {
        String message = String.format("dateSubtract(%s, %s)", first, second);
        logError(message, e);
        return null;
    }
}
 
源代码9 项目: jdmn   文件: DefaultDurationLib.java
private Duration toYearsMonthDuration(DatatypeFactory datatypeFactory, LocalDate date1, LocalDate date2) {
    Period between = Period.between(date2, date1);
    int years = between.getYears();
    int months = between.getMonths();
    if (between.isNegative()) {
        years = - years;
        months = - months;
    }
    return datatypeFactory.newDurationYearMonth(!between.isNegative(), years, months);
}
 
源代码10 项目: SA47   文件: PeriodDemo.java
public static void main(String[] args) {
	
	LocalDate dateA = LocalDate.of(1978, 8, 26);
	LocalDate dateB = LocalDate.of(1988, 9, 28);
	Period period = Period.between(dateA, dateB);
	System.out.printf("Between %s and %s" + " there are %d years, %d months" + " and %d days%n", dateA, dateB,
			period.getYears(), period.getMonths(), period.getDays());

}
 
源代码11 项目: mycollab   文件: UserUIContext.java
public static String formatDuration(LocalDate date) {
    Period period = Period.between(date, LocalDate.now());
    return UserUIContext.getMessage(DayI18nEnum.DURATION, period.getDays());
}
 
源代码12 项目: tutorials   文件: UsePeriod.java
Period getDifferenceBetweenDates(LocalDate localDate1, LocalDate localDate2) {
    return Period.between(localDate1, localDate2);
}
 
源代码13 项目: jdk8u-jdk   文件: TCKPeriod.java
@Test(expectedExceptions=NullPointerException.class)
public void factory_between_LocalDate_nullFirst() {
    Period.between((LocalDate) null, LocalDate.of(2010, 1, 1));
}
 
@Override
protected void computeRealHumanResourceCost(
    OperationOrder operationOrder,
    int priority,
    int bomLevel,
    CostSheetLine parentCostSheetLine,
    LocalDate previousCostSheetDate)
    throws AxelorException {
  AppProductionService appProductionService = Beans.get(AppProductionService.class);

  if (!appProductionService.isApp("production")
      || !appProductionService.getAppProduction().getManageBusinessProduction()) {
    super.computeRealHumanResourceCost(
        operationOrder, priority, bomLevel, parentCostSheetLine, previousCostSheetDate);
    return;
  }

  if (operationOrder.getTimesheetLineList() != null) {
    Long duration = 0L;
    if (parentCostSheetLine.getCostSheet().getCalculationTypeSelect()
            == CostSheetRepository.CALCULATION_END_OF_PRODUCTION
        || parentCostSheetLine.getCostSheet().getCalculationTypeSelect()
            == CostSheetRepository.CALCULATION_PARTIAL_END_OF_PRODUCTION) {
      Period period =
          previousCostSheetDate != null
              ? Period.between(
                  parentCostSheetLine.getCostSheet().getCalculationDate(), previousCostSheetDate)
              : null;
      duration =
          period != null ? Long.valueOf(period.getDays() * 24) : operationOrder.getRealDuration();
    } else if (parentCostSheetLine.getCostSheet().getCalculationTypeSelect()
        == CostSheetRepository.CALCULATION_WORK_IN_PROGRESS) {

      duration =
          operationOrder.getRealDuration()
              - (operationOrder.getPlannedDuration()
                  * costSheet.getManufOrderProducedRatio().longValue());
    }

    // TODO get the timesheet Line done when we run the calculation.

    this.computeRealHumanResourceCost(
        null, operationOrder.getWorkCenter(), priority, bomLevel, parentCostSheetLine, duration);
  }
}
 
源代码15 项目: axelor-open-suite   文件: CostSheetServiceImpl.java
protected void computeRealHumanResourceCost(
    OperationOrder operationOrder,
    int priority,
    int bomLevel,
    CostSheetLine parentCostSheetLine,
    LocalDate previousCostSheetDate)
    throws AxelorException {
  if (operationOrder.getProdHumanResourceList() != null) {
    Long duration = 0L;
    if (parentCostSheetLine.getCostSheet().getCalculationTypeSelect()
            == CostSheetRepository.CALCULATION_END_OF_PRODUCTION
        || parentCostSheetLine.getCostSheet().getCalculationTypeSelect()
            == CostSheetRepository.CALCULATION_PARTIAL_END_OF_PRODUCTION) {
      Period period =
          previousCostSheetDate != null
              ? Period.between(
                  parentCostSheetLine.getCostSheet().getCalculationDate(), previousCostSheetDate)
              : null;
      duration =
          period != null ? Long.valueOf(period.getDays() * 24) : operationOrder.getRealDuration();
    } else if (parentCostSheetLine.getCostSheet().getCalculationTypeSelect()
        == CostSheetRepository.CALCULATION_WORK_IN_PROGRESS) {

      BigDecimal ratio = costSheet.getManufOrderProducedRatio();

      Long plannedDuration =
          DurationTool.getSecondsDuration(
                  Duration.between(
                      operationOrder.getPlannedStartDateT(), operationOrder.getPlannedEndDateT()))
              * ratio.longValue();
      Long totalPlannedDuration = 0L;
      for (OperationOrder manufOperationOrder :
          operationOrder.getManufOrder().getOperationOrderList()) {
        if (manufOperationOrder.getId() == operationOrder.getId()) {
          totalPlannedDuration += manufOperationOrder.getPlannedDuration();
        }
      }
      duration = Math.abs(totalPlannedDuration - plannedDuration);
    }
    for (ProdHumanResource prodHumanResource : operationOrder.getProdHumanResourceList()) {
      this.computeRealHumanResourceCost(
          prodHumanResource,
          operationOrder.getWorkCenter(),
          priority,
          bomLevel,
          parentCostSheetLine,
          duration);
    }
  }
}
 
源代码16 项目: openjdk-jdk8u-backup   文件: TCKPeriod.java
@Test(expectedExceptions=NullPointerException.class)
public void factory_between_LocalDate_nullSecond() {
    Period.between(LocalDate.of(2010, 1, 1), (LocalDate) null);
}
 
源代码17 项目: tutorials   文件: PersonService.java
public int getAge(Person person){
    Period p = Period.between(person.getDateOfBirth(), LocalDate.now());
    return p.getYears();
}
 
源代码18 项目: jdk8u_jdk   文件: TCKPeriod.java
@Test(expectedExceptions=NullPointerException.class)
public void factory_between_LocalDate_nullSecond() {
    Period.between(LocalDate.of(2010, 1, 1), (LocalDate) null);
}
 
源代码19 项目: groovy   文件: DateTimeExtensions.java
/**
 * Returns a {@link java.time.Period} of time between the first day of this year/month (inclusive) and the
 * given {@link java.time.YearMonth} (exclusive).
 *
 * @param self  a YearMonth
 * @param other another YearMonth
 * @return a Period
 * @since 2.5.0
 */
public static Period rightShift(YearMonth self, YearMonth other) {
    return Period.between(self.atDay(1), other.atDay(1));
}
 
源代码20 项目: groovy   文件: DateTimeExtensions.java
/**
 * Returns a {@link java.time.Period} between the first day of this year (inclusive) and the first day of the
 * provided {@link java.time.Year} (exclusive).
 *
 * @param self a Year
 * @param year another Year
 * @return a Period between the Years
 * @since 2.5.0
 */
public static Period rightShift(final Year self, Year year) {
    return Period.between(self.atDay(1), year.atDay(1));
}