java.time.LocalDate#toEpochDay ( )源码实例Demo

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

源代码1 项目: mockneat   文件: LocalDates.java
/**
 * <p>This method can be used to generate date objects in the defined range (lowerDate, upperDate).</p>
 *
 * @param lowerDate The lower limit of the interval.
 * @param upperDate The upper limit of the interval.
 * @return A new {@code MockUnitLocalDate} object.
 */
public MockUnitLocalDate between(LocalDate lowerDate, LocalDate upperDate) {
    notNull(lowerDate, "lowerDate");
    notNull(upperDate, "upperDate");
    isTrue(lowerDate.compareTo(upperDate)<0,
            LOWER_DATE_SMALLER_THAN_UPPER_DATE,
            "lower", lowerDate,
            "upper", upperDate);
    Supplier<LocalDate> supp = () -> {
        long lowerEpoch = lowerDate.toEpochDay();
        long upperEpoch = upperDate.toEpochDay();
        long diff = upperEpoch - lowerEpoch;
        long randEpoch = mockNeat.longs().range(0, diff).val();
        return ofEpochDay(lowerEpoch + randEpoch);
    };
    return ()-> supp;
}
 
@Test
public void test_rateSensitivity() {
  RatesProvider mockProv = mock(RatesProvider.class);
  IborIndexRates mockRates3M = mock(IborIndexRates.class);
  IborIndexRates mockRates6M = mock(IborIndexRates.class);
  when(mockProv.iborIndexRates(GBP_LIBOR_3M)).thenReturn(mockRates3M);
  when(mockProv.iborIndexRates(GBP_LIBOR_6M)).thenReturn(mockRates6M);
  when(mockRates3M.ratePointSensitivity(GBP_LIBOR_3M_OBS)).thenReturn(SENSITIVITY3);
  when(mockRates6M.ratePointSensitivity(GBP_LIBOR_6M_OBS)).thenReturn(SENSITIVITY6);

  IborInterpolatedRateComputation ro = IborInterpolatedRateComputation.of(GBP_LIBOR_3M, GBP_LIBOR_6M, FIXING_DATE, REF_DATA);
  ForwardIborInterpolatedRateComputationFn obsFn = ForwardIborInterpolatedRateComputationFn.DEFAULT;
  LocalDate fixingEndDate3M = GBP_LIBOR_3M_OBS.getMaturityDate();
  LocalDate fixingEndDate6M = GBP_LIBOR_6M_OBS.getMaturityDate();
  double days3M = fixingEndDate3M.toEpochDay() - FIXING_DATE.toEpochDay(); //nb days in 3M fixing period
  double days6M = fixingEndDate6M.toEpochDay() - FIXING_DATE.toEpochDay(); //nb days in 6M fixing period
  double daysCpn = ACCRUAL_END_DATE.toEpochDay() - FIXING_DATE.toEpochDay();
  double weight3M = (days6M - daysCpn) / (days6M - days3M);
  double weight6M = (daysCpn - days3M) / (days6M - days3M);
  IborRateSensitivity sens3 = IborRateSensitivity.of(GBP_LIBOR_3M_OBS, weight3M);
  IborRateSensitivity sens6 = IborRateSensitivity.of(GBP_LIBOR_6M_OBS, weight6M);
  PointSensitivities expected = PointSensitivities.of(ImmutableList.of(sens3, sens6));
  PointSensitivityBuilder test = obsFn.rateSensitivity(ro, ACCRUAL_START_DATE, ACCRUAL_END_DATE, mockProv);
  assertThat(test.build()).isEqualTo(expected);
}
 
源代码3 项目: rqueue   文件: QueueStatistics.java
public void pruneStats(LocalDate date, int maxDays) {
  if (startEpochDate == null) {
    startEpochDate = date.toEpochDay();
    return;
  }
  long daysDifference = date.toEpochDay() - startEpochDate;
  long extraDaysData = daysDifference - maxDays;
  if (extraDaysData > 0) {
    LocalDate startDate = date.minusDays(maxDays);
    this.startEpochDate = startDate.toEpochDay();
    for (int i = 0; i <= extraDaysData; i++) {
      cleanData(startDate.minusDays(i).toString());
    }
  }
}
 
源代码4 项目: DataDefender   文件: Core.java
/**
 * Generates a random date between the passed start and end dates, and using
 * the passed format to parse the dates passed, and to format the return
 * value.
 *
 * @param start
 * @param end
 * @param format
 * @return
 */
public String randomDate(
    @NamedParameter("start") String start,
    @NamedParameter("end") String end,
    @NamedParameter("format") String format
) {
    DateTimeFormatter fmt = DateTimeFormatter.ofPattern(format);
    LocalDate ds = LocalDate.parse(start, fmt);
    LocalDate de = LocalDate.parse(end, fmt);
    long day = RandomUtils.nextLong(0, de.toEpochDay() - ds.toEpochDay()) + ds.toEpochDay();
    return LocalDate.ofEpochDay(day).format(fmt);
}
 
源代码5 项目: jdk8u60   文件: TCKLocalDate.java
@BeforeMethod
public void setUp() {
    TEST_2007_07_15 = LocalDate.of(2007, 7, 15);

    LocalDate max = LocalDate.MAX;
    LocalDate min = LocalDate.MIN;
    MAX_VALID_EPOCHDAYS = max.toEpochDay();
    MIN_VALID_EPOCHDAYS = min.toEpochDay();
    MAX_DATE = max;
    MIN_DATE = min;
    MAX_INSTANT = max.atStartOfDay(ZoneOffset.UTC).toInstant();
    MIN_INSTANT = min.atStartOfDay(ZoneOffset.UTC).toInstant();
}
 
源代码6 项目: jdk8u-dev-jdk   文件: TCKLocalDate.java
@BeforeMethod
public void setUp() {
    TEST_2007_07_15 = LocalDate.of(2007, 7, 15);

    LocalDate max = LocalDate.MAX;
    LocalDate min = LocalDate.MIN;
    MAX_VALID_EPOCHDAYS = max.toEpochDay();
    MIN_VALID_EPOCHDAYS = min.toEpochDay();
    MAX_DATE = max;
    MIN_DATE = min;
    MAX_INSTANT = max.atStartOfDay(ZoneOffset.UTC).toInstant();
    MIN_INSTANT = min.atStartOfDay(ZoneOffset.UTC).toInstant();
}
 
源代码7 项目: Strata   文件: LocalDateUtils.java
/**
 * Returns the number of days between two dates.
 * <p>
 * Faster than the JDK method.
 * 
 * @param firstDate  the first date
 * @param secondDate  the second date, after the first
 * @return the new date
 */
static long daysBetween(LocalDate firstDate, LocalDate secondDate) {
  int firstYear = firstDate.getYear();
  int secondYear = secondDate.getYear();
  if (firstYear == secondYear) {
    return doy(secondDate) - doy(firstDate);
  }
  if ((firstYear + 1) == secondYear) {
    return (firstDate.lengthOfYear() - doy(firstDate)) + doy(secondDate);
  }
  return secondDate.toEpochDay() - firstDate.toEpochDay();
}
 
源代码8 项目: logbook-kai   文件: BattleLogs.java
/**
 * 任意期間の集計単位
 *
 * @param from 期間の開始日付
 * @param to 期間の終了日付
 */
public CustomUnit(LocalDate from, LocalDate to) {
    DateTimeFormatter formatter = DateTimeFormatter.ofLocalizedDate(FormatStyle.SHORT);
    // 単位の名前
    // yy/MM/dd-yy/MM/dd(xx日)
    this.name = formatter.format(from) + "-" + formatter.format(to)
            + "(" + ((to.toEpochDay() - from.toEpochDay()) + 1) + "日)";
    // 期間の開始
    this.from = ZonedDateTime.of(LocalDateTime.of(from, LocalTime.MIN), ZoneId.of("GMT+04:00"));
    // 期間の終了
    this.to = ZonedDateTime.of(LocalDateTime.of(to, LocalTime.MAX), ZoneId.of("GMT+04:00"));
}
 
源代码9 项目: openjdk-8   文件: TCKLocalDate.java
@BeforeMethod
public void setUp() {
    TEST_2007_07_15 = LocalDate.of(2007, 7, 15);

    LocalDate max = LocalDate.MAX;
    LocalDate min = LocalDate.MIN;
    MAX_VALID_EPOCHDAYS = max.toEpochDay();
    MIN_VALID_EPOCHDAYS = min.toEpochDay();
    MAX_DATE = max;
    MIN_DATE = min;
    MAX_INSTANT = max.atStartOfDay(ZoneOffset.UTC).toInstant();
    MIN_INSTANT = min.atStartOfDay(ZoneOffset.UTC).toInstant();
}
 
源代码10 项目: jdk8u_jdk   文件: TCKLocalDate.java
@BeforeMethod
public void setUp() {
    TEST_2007_07_15 = LocalDate.of(2007, 7, 15);

    LocalDate max = LocalDate.MAX;
    LocalDate min = LocalDate.MIN;
    MAX_VALID_EPOCHDAYS = max.toEpochDay();
    MIN_VALID_EPOCHDAYS = min.toEpochDay();
    MAX_DATE = max;
    MIN_DATE = min;
    MAX_INSTANT = max.atStartOfDay(ZoneOffset.UTC).toInstant();
    MIN_INSTANT = min.atStartOfDay(ZoneOffset.UTC).toInstant();
}
 
源代码11 项目: j2objc   文件: TCKLocalDate.java
@BeforeClass
public static void setUp() {
    TEST_2007_07_15 = LocalDate.of(2007, 7, 15);

    LocalDate max = LocalDate.MAX;
    LocalDate min = LocalDate.MIN;
    MAX_VALID_EPOCHDAYS = max.toEpochDay();
    MIN_VALID_EPOCHDAYS = min.toEpochDay();
    MAX_DATE = max;
    MIN_DATE = min;
    MAX_INSTANT = max.atStartOfDay(ZoneOffset.UTC).toInstant();
    MIN_INSTANT = min.atStartOfDay(ZoneOffset.UTC).toInstant();
}
 
源代码12 项目: presto   文件: ThriftMetastoreUtil.java
private static Date toMetastoreDate(LocalDate date)
{
    return new Date(date.toEpochDay());
}
 
源代码13 项目: flink   文件: JsonRowDataDeserializationSchema.java
private int convertToDate(JsonNode jsonNode) {
	LocalDate date = ISO_LOCAL_DATE.parse(jsonNode.asText()).query(TemporalQueries.localDate());
	return (int) date.toEpochDay();
}
 
源代码14 项目: quarkus   文件: GreetingResource.java
@GET
@Produces(MediaType.APPLICATION_JSON)
public Greeting hello() {
    LocalDate localDate = LocalDate.of(2019, 01, 01);
    return new Greeting("hello", localDate, new Date(localDate.toEpochDay()));
}
 
源代码15 项目: morpheus-core   文件: LongCoding.java
@Override
public final long getCode(LocalDate value) {
    return value == null ? Long.MIN_VALUE : value.toEpochDay();
}
 
@Test
public void test_rate() {
  RatesProvider mockProv = mock(RatesProvider.class);
  LocalDateDoubleTimeSeries timeSeries = LocalDateDoubleTimeSeries.of(FIXING_DATE, RATE3TS);
  IborIndexRates mockRates3M = new TestingIborIndexRates(
      GBP_LIBOR_3M, FIXING_DATE, LocalDateDoubleTimeSeries.empty(), timeSeries);
  IborIndexRates mockRates6M = new TestingIborIndexRates(
      GBP_LIBOR_6M, FIXING_DATE, LocalDateDoubleTimeSeries.of(FIXING_DATE, RATE6), LocalDateDoubleTimeSeries.empty());
  when(mockProv.iborIndexRates(GBP_LIBOR_3M)).thenReturn(mockRates3M);
  when(mockProv.iborIndexRates(GBP_LIBOR_6M)).thenReturn(mockRates6M);

  IborInterpolatedRateComputation ro = IborInterpolatedRateComputation.of(GBP_LIBOR_3M, GBP_LIBOR_6M, FIXING_DATE, REF_DATA);
  ForwardIborInterpolatedRateComputationFn obs = ForwardIborInterpolatedRateComputationFn.DEFAULT;
  LocalDate fixingEndDate3M = GBP_LIBOR_3M_OBS.getMaturityDate();
  LocalDate fixingEndDate6M = GBP_LIBOR_6M_OBS.getMaturityDate();
  double days3M = fixingEndDate3M.toEpochDay() - FIXING_DATE.toEpochDay(); //nb days in 3M fixing period
  double days6M = fixingEndDate6M.toEpochDay() - FIXING_DATE.toEpochDay(); //nb days in 6M fixing period
  double daysCpn = ACCRUAL_END_DATE.toEpochDay() - FIXING_DATE.toEpochDay();
  double weight3M = (days6M - daysCpn) / (days6M - days3M);
  double weight6M = (daysCpn - days3M) / (days6M - days3M);
  double rateExpected = (weight3M * RATE3TS + weight6M * RATE6);
  double rateComputed = obs.rate(ro, ACCRUAL_START_DATE, ACCRUAL_END_DATE, mockProv);
  assertThat(rateComputed).isCloseTo(rateExpected, offset(TOLERANCE_RATE));

  // explain
  ExplainMapBuilder builder = ExplainMap.builder();
  assertThat(obs.explainRate(ro, ACCRUAL_START_DATE, ACCRUAL_END_DATE, mockProv, builder)).isCloseTo(rateExpected, offset(TOLERANCE_RATE));

  ExplainMap built = builder.build();
  assertThat(built.get(ExplainKey.OBSERVATIONS)).isPresent();
  assertThat(built.get(ExplainKey.OBSERVATIONS).get()).hasSize(2);
  assertThat(built.get(ExplainKey.OBSERVATIONS).get().get(0).get(ExplainKey.FIXING_DATE)).isEqualTo(Optional.of(FIXING_DATE));
  assertThat(built.get(ExplainKey.OBSERVATIONS).get().get(0).get(ExplainKey.INDEX)).isEqualTo(Optional.of(GBP_LIBOR_3M));
  assertThat(built.get(ExplainKey.OBSERVATIONS).get().get(0).get(ExplainKey.INDEX_VALUE)).isEqualTo(Optional.of(RATE3TS));
  assertThat(built.get(ExplainKey.OBSERVATIONS).get().get(0).get(ExplainKey.WEIGHT)).isEqualTo(Optional.of(weight3M));
  assertThat(built.get(ExplainKey.OBSERVATIONS).get().get(0).get(ExplainKey.FROM_FIXING_SERIES)).isEqualTo(Optional.of(Boolean.TRUE));
  assertThat(built.get(ExplainKey.OBSERVATIONS).get().get(1).get(ExplainKey.FIXING_DATE)).isEqualTo(Optional.of(FIXING_DATE));
  assertThat(built.get(ExplainKey.OBSERVATIONS).get().get(1).get(ExplainKey.INDEX)).isEqualTo(Optional.of(GBP_LIBOR_6M));
  assertThat(built.get(ExplainKey.OBSERVATIONS).get().get(1).get(ExplainKey.INDEX_VALUE)).isEqualTo(Optional.of(RATE6));
  assertThat(built.get(ExplainKey.OBSERVATIONS).get().get(1).get(ExplainKey.WEIGHT)).isEqualTo(Optional.of(weight6M));
  assertThat(built.get(ExplainKey.OBSERVATIONS).get().get(1).get(ExplainKey.FROM_FIXING_SERIES)).isEqualTo(Optional.empty());
  assertThat(built.get(ExplainKey.COMBINED_RATE)).isEqualTo(Optional.of(rateExpected));
}
 
源代码17 项目: beam   文件: Date.java
@Override
public Long toBaseType(LocalDate input) {
  return input == null ? null : input.toEpochDay();
}
 
源代码18 项目: yue-library   文件: DateUtils.java
/**
 * 计算日期相差天数
 * 
 * @param startDate 开始日期
 * @param endDate 结束日期
 * @return 相差天数
 */
public static long dateDaysDifference(LocalDate startDate, LocalDate endDate) {
	return startDate.toEpochDay() - endDate.toEpochDay();
}
 
源代码19 项目: finmath-lib   文件: DayCountConvention_ACT.java
/**
 * Returns the number of days, between two dates.
 *
 * A fractional day is rounded to the approximately nearest day.
 *
 * The formula implemented is
 * <code>
 *
 * (endDate.toEpochDay() - startDate.toEpochDay());
 * </code>
 *
 * @param startDate The start date of the interval.
 * @param endDate The end date of the interval.
 * @return Number of days between startDate and endDate.
 */
public static double daysBetween(final LocalDate startDate, final LocalDate endDate) {
	return (endDate.toEpochDay() - startDate.toEpochDay());
}
 
源代码20 项目: finmath-lib   文件: DayCountConvention_ACT.java
/**
 * Returns the number of days, between two dates.
 *
 * A fractional day is rounded to the approximately nearest day.
 *
 * The formula implemented is
 * <code>
 *
 * (endDate.toEpochDay() - startDate.toEpochDay());
 * </code>
 *
 * @param startDate The start date of the interval.
 * @param endDate The end date of the interval.
 * @return Number of days between startDate and endDate.
 */
public static double daysBetween(final LocalDate startDate, final LocalDate endDate) {
	return (endDate.toEpochDay() - startDate.toEpochDay());
}