Example usage for java.time.temporal ChronoUnit WEEKS

List of usage examples for java.time.temporal ChronoUnit WEEKS

Introduction

In this page you can find the example usage for java.time.temporal ChronoUnit WEEKS.

Prototype

ChronoUnit WEEKS

To view the source code for java.time.temporal ChronoUnit WEEKS.

Click Source Link

Document

Unit that represents the concept of a week.

Usage

From source file:Main.java

public static void main(String[] args) {
    Year y = Year.of(2014);
    Year l = y.minus(12, ChronoUnit.WEEKS);
    System.out.println(l);

}

From source file:Main.java

public static void main(String[] args) {

    LocalDateTime timePoint = LocalDateTime.now();
    LocalDateTime newDateTime = timePoint.plus(3, ChronoUnit.WEEKS).plus(3, ChronoUnit.YEARS);

    System.out.println(newDateTime);
}

From source file:Main.java

public static void main(String[] args) {
    OffsetDateTime o = OffsetDateTime.now();
    long d = o.until(OffsetDateTime.now(ZoneId.systemDefault()), ChronoUnit.WEEKS);
    System.out.println(d);// w w w.ja v  a2 s  .c  o m
}

From source file:com.ikanow.aleph2.data_model.utils.TimeUtils.java

/** The simplest date parsing utility - only handles daily/hourly/monthly type strings (1d, d, daily, day - etc). Note "m" is ambiguous and not supported, use "min" or "month"
 * @param human_readable_period - daily/hourly/monthly type strings (1d, d, daily, day - etc). Note "m" is ambiguous and not supported, use "min" or "month"
 * @return a ChronoUnit if successful, else a generic error string
 *//* w w  w . j a va 2  s.c o m*/
public static Validation<String, ChronoUnit> getTimePeriod(final String human_readable_period) {
    return Patterns
            .match(Optional.ofNullable(human_readable_period).orElse("").toLowerCase().replaceAll("\\s+", ""))
            .<Validation<String, ChronoUnit>>andReturn()
            .when(d -> d.equals("1d"), __ -> Validation.success(ChronoUnit.DAYS))
            .when(d -> d.equals("d"), __ -> Validation.success(ChronoUnit.DAYS))
            .when(d -> d.equals("1day"), __ -> Validation.success(ChronoUnit.DAYS))
            .when(d -> d.equals("day"), __ -> Validation.success(ChronoUnit.DAYS))
            .when(d -> d.equals("daily"), __ -> Validation.success(ChronoUnit.DAYS))

            .when(d -> d.equals("1w"), __ -> Validation.success(ChronoUnit.WEEKS))
            .when(d -> d.equals("w"), __ -> Validation.success(ChronoUnit.WEEKS))
            .when(d -> d.equals("1wk"), __ -> Validation.success(ChronoUnit.WEEKS))
            .when(d -> d.equals("wk"), __ -> Validation.success(ChronoUnit.WEEKS))
            .when(d -> d.equals("1week"), __ -> Validation.success(ChronoUnit.WEEKS))
            .when(d -> d.equals("week"), __ -> Validation.success(ChronoUnit.WEEKS))
            .when(d -> d.equals("weekly"), __ -> Validation.success(ChronoUnit.WEEKS))

            .when(d -> d.equals("1month"), __ -> Validation.success(ChronoUnit.MONTHS))
            .when(d -> d.equals("month"), __ -> Validation.success(ChronoUnit.MONTHS))
            .when(d -> d.equals("monthly"), __ -> Validation.success(ChronoUnit.MONTHS))

            .when(d -> d.equals("1sec"), __ -> Validation.success(ChronoUnit.SECONDS))
            .when(d -> d.equals("sec"), __ -> Validation.success(ChronoUnit.SECONDS))
            .when(d -> d.equals("1s"), __ -> Validation.success(ChronoUnit.SECONDS))
            .when(d -> d.equals("s"), __ -> Validation.success(ChronoUnit.SECONDS))
            .when(d -> d.equals("1second"), __ -> Validation.success(ChronoUnit.SECONDS))
            .when(d -> d.equals("second"), __ -> Validation.success(ChronoUnit.SECONDS))

            .when(d -> d.equals("1min"), __ -> Validation.success(ChronoUnit.MINUTES))
            .when(d -> d.equals("min"), __ -> Validation.success(ChronoUnit.MINUTES))
            .when(d -> d.equals("1minute"), __ -> Validation.success(ChronoUnit.MINUTES))
            .when(d -> d.equals("minute"), __ -> Validation.success(ChronoUnit.MINUTES))

            .when(d -> d.equals("1h"), __ -> Validation.success(ChronoUnit.HOURS))
            .when(d -> d.equals("h"), __ -> Validation.success(ChronoUnit.HOURS))
            .when(d -> d.equals("1hour"), __ -> Validation.success(ChronoUnit.HOURS))
            .when(d -> d.equals("hour"), __ -> Validation.success(ChronoUnit.HOURS))
            .when(d -> d.equals("hourly"), __ -> Validation.success(ChronoUnit.HOURS))

            .when(d -> d.equals("1y"), __ -> Validation.success(ChronoUnit.YEARS))
            .when(d -> d.equals("y"), __ -> Validation.success(ChronoUnit.YEARS))
            .when(d -> d.equals("1year"), __ -> Validation.success(ChronoUnit.YEARS))
            .when(d -> d.equals("year"), __ -> Validation.success(ChronoUnit.YEARS))
            .when(d -> d.equals("1yr"), __ -> Validation.success(ChronoUnit.YEARS))
            .when(d -> d.equals("yr"), __ -> Validation.success(ChronoUnit.YEARS))
            .when(d -> d.equals("yearly"), __ -> Validation.success(ChronoUnit.YEARS))

            .otherwise(__ -> Validation
                    .fail(ErrorUtils.get(ErrorUtils.INVALID_DATETIME_FORMAT, human_readable_period)));
}

From source file:nu.yona.server.analysis.service.InactivityManagementService.java

public void createInactivityEntities(UUID userAnonymizedId, Set<IntervalInactivityDto> intervalInactivities) {
    try (LockPool<UUID>.Lock lock = userAnonymizedSynchronizer.lock(userAnonymizedId)) {
        transactionHelper.executeInNewTransaction(() -> {
            UserAnonymizedDto userAnonymized = userAnonymizedService.getUserAnonymized(userAnonymizedId);
            createWeekInactivityEntities(userAnonymizedId, intervalInactivities.stream()
                    .filter(ia -> ia.getTimeUnit() == ChronoUnit.WEEKS).collect(Collectors.toSet()));
            createDayInactivityEntities(userAnonymized, intervalInactivities.stream()
                    .filter(ia -> ia.getTimeUnit() == ChronoUnit.DAYS).collect(Collectors.toSet()));
        });/*from ww w .java  2  s.  c  o m*/
    }
}

From source file:com.yahoo.egads.models.tsmm.TestOlympicModel2.java

@Test
public void ctor() throws Exception {
    OlympicModel2 model = new OlympicModel2(config);

    assertEquals(5, model.interval);//  www.j a v  a 2s.  co  m
    assertEquals(ChronoUnit.MINUTES, model.intervalUnits);
    assertEquals(1, model.windowDistanceInterval);
    assertEquals(ChronoUnit.WEEKS, model.windowDistanceIntervalUnits);
    assertEquals(4, model.pastWindows);
    assertEquals(start, model.modelStartEpoch);
    assertEquals(ZoneId.of("UTC"), model.zone);
    assertFalse(model.weighting);
    assertEquals(1, model.futureWindows);
    assertEquals(0, model.drop_highest);
    assertEquals(0, model.drop_lowest);
    assertEquals(4, model.windowTimes.length);
    assertEquals(4, model.indices.length);
    assertTrue(model.model.isEmpty());

    // overrides
    config.clear();
    config.put("INTERVAL", "5");
    config.put("INTERVAL_UNITS", "MINUTES");
    config.put("WINDOW_SIZE", "1");
    config.put("WINDOW_SIZE_UNITS", "HOURS");
    config.put("WINDOW_DISTANCE", "1");
    config.put("WINDOW_DISTANCE_UNITS", "WEEKS");
    config.put("HISTORICAL_WINDOWS", "4");
    config.put("MODEL_START", Long.toString(start));
    config.put("TIMEZONE", "Australia/Lord_Howe");
    config.put("ENABLE_WEIGHTING", "true");
    config.put("FUTURE_WINDOWS", "2");
    config.put("NUM_TO_DROP_HIGHEST", "4");
    config.put("NUM_TO_DROP_LOWEST", "8");
    model = new OlympicModel2(config);

    assertEquals(5, model.interval);
    assertEquals(ChronoUnit.MINUTES, model.intervalUnits);
    assertEquals(1, model.windowDistanceInterval);
    assertEquals(ChronoUnit.WEEKS, model.windowDistanceIntervalUnits);
    assertEquals(4, model.pastWindows);
    assertEquals(start, model.modelStartEpoch);
    assertEquals(ZoneId.of("Australia/Lord_Howe"), model.zone);
    assertTrue(model.weighting);
    assertEquals(2, model.futureWindows);
    assertEquals(4, model.drop_highest);
    assertEquals(8, model.drop_lowest);
    assertEquals(4, model.windowTimes.length);
    assertEquals(4, model.indices.length);
    assertTrue(model.model.isEmpty());

    // null config, underlying ctor throws an NPE, should fix it.
    try {
        model = new OlympicModel2(null);
        fail("Expected NullPointerException");
    } catch (NullPointerException e) {
    }

    // Empty config
    config.clear();
    try {
        model = new OlympicModel2(config);
        fail("Expected IllegalArgumentException");
    } catch (IllegalArgumentException e) {
    }

    // lots of missing required values tests.
    setConfig();
    config.remove("INTERVAL");

    try {
        model = new OlympicModel2(config);
        fail("Expected IllegalArgumentException");
    } catch (IllegalArgumentException e) {
    }

    setConfig();
    config.remove("INTERVAL_UNITS");

    try {
        model = new OlympicModel2(config);
        fail("Expected IllegalArgumentException");
    } catch (IllegalArgumentException e) {
    }

    setConfig();
    config.remove("WINDOW_SIZE");

    try {
        model = new OlympicModel2(config);
        fail("Expected IllegalArgumentException");
    } catch (IllegalArgumentException e) {
    }

    setConfig();
    config.remove("WINDOW_SIZE_UNITS");

    try {
        model = new OlympicModel2(config);
        fail("Expected IllegalArgumentException");
    } catch (IllegalArgumentException e) {
    }

    setConfig();
    config.remove("WINDOW_DISTANCE");

    try {
        model = new OlympicModel2(config);
        fail("Expected IllegalArgumentException");
    } catch (IllegalArgumentException e) {
    }

    setConfig();
    config.remove("WINDOW_DISTANCE_UNITS");

    try {
        model = new OlympicModel2(config);
        fail("Expected IllegalArgumentException");
    } catch (IllegalArgumentException e) {
    }

    setConfig();
    config.remove("MODEL_START");

    try {
        model = new OlympicModel2(config);
        fail("Expected IllegalArgumentException");
    } catch (IllegalArgumentException e) {
    }

    setConfig();

    model = new OlympicModel2(config);

    assertEquals(1, model.pastWindows);
    assertEquals(ZoneId.of("UTC"), model.zone);

    // invalid params tests
    setConfig();
    config.setProperty("WINDOW_SIZE", "not a number");
    try {
        model = new OlympicModel2(config);
        fail("Expected NumberFormatException");
    } catch (NumberFormatException e) {
    }

    setConfig();
    config.setProperty("WINDOW_SIZE_UNITS", "not a unit");
    try {
        model = new OlympicModel2(config);
        fail("Expected IllegalArgumentException");
    } catch (IllegalArgumentException e) {
    }

    setConfig();
    config.setProperty("WINDOW_DISTANCE", "not a number");
    try {
        model = new OlympicModel2(config);
        fail("Expected NumberFormatException");
    } catch (NumberFormatException e) {
    }

    setConfig();
    config.setProperty("WINDOW_DISTANCE_UNITS", "not a unit");
    try {
        model = new OlympicModel2(config);
        fail("Expected IllegalArgumentException");
    } catch (IllegalArgumentException e) {
    }

    setConfig();
    config.setProperty("MODEL_START", "not a number");
    try {
        model = new OlympicModel2(config);
        fail("Expected NumberFormatException");
    } catch (NumberFormatException e) {
    }
}

From source file:devbury.dewey.plugins.RemindMe.java

private Date notifyAt(long amount, String units) {
    ChronoUnit chronoUnit = ChronoUnit.SECONDS;
    switch (units) {
    case "weeks":
    case "week":
        chronoUnit = ChronoUnit.WEEKS;
        break;/*from   w  w w.  j  a  v  a2 s. c om*/
    case "months":
    case "month":
        chronoUnit = ChronoUnit.MONTHS;
        break;
    case "days":
    case "day":
        chronoUnit = ChronoUnit.DAYS;
        break;
    case "hours":
    case "hour":
        chronoUnit = ChronoUnit.HOURS;
        break;
    case "minutes":
    case "minute":
        chronoUnit = ChronoUnit.MINUTES;
        break;
    }
    return Date.from(Instant.now().plus(amount, chronoUnit));
}

From source file:com.ikanow.aleph2.data_model.utils.TimeUtils.java

/** Returns the suffix of a time-based index given the grouping period
 * @param grouping_period - the grouping period
 * @param lowest_granularity//  w w w .  j  a va2s .c  o m
 * @return the index suffix, ie added to the base index
 */
public static String getTimeBasedSuffix(final ChronoUnit grouping_period,
        final Optional<ChronoUnit> lowest_granularity) {
    return lowest_granularity
            .map(lg -> grouping_period.compareTo(lg) < 0 ? getTimeBasedSuffix(lg, Optional.empty()) : null)
            .orElse(Patterns.match(grouping_period).<String>andReturn()
                    .when(p -> ChronoUnit.SECONDS == p, __ -> "yyyy.MM.dd.HH:mm:ss")
                    .when(p -> ChronoUnit.MINUTES == p, __ -> "yyyy.MM.dd.HH:mm")
                    .when(p -> ChronoUnit.HOURS == p, __ -> "yyyy.MM.dd.HH")
                    .when(p -> ChronoUnit.DAYS == p, __ -> "yyyy.MM.dd")
                    .when(p -> ChronoUnit.WEEKS == p, __ -> "YYYY-ww") // (deliberately 'Y' (week-year) not 'y' since 'w' is week-of-year 
                    .when(p -> ChronoUnit.MONTHS == p, __ -> "yyyy.MM")
                    .when(p -> ChronoUnit.YEARS == p, __ -> "yyyy").otherwise(__ -> ""));
}

From source file:com.ikanow.aleph2.core.shared.utils.TimeSliceDirUtils.java

/** Low level util because java8 time "plus" is odd
 * @param to_adjust//w w w.  j a va  2s.c  o  m
 * @param increment
 * @return
 */
private static Date adjustTime(Date to_adjust, ChronoUnit increment) {
    return Patterns.match(increment).<Date>andReturn()
            .when(t -> t == ChronoUnit.SECONDS, __ -> DateUtils.addSeconds(to_adjust, 1))
            .when(t -> t == ChronoUnit.MINUTES, __ -> DateUtils.addMinutes(to_adjust, 1))
            .when(t -> t == ChronoUnit.HOURS, __ -> DateUtils.addHours(to_adjust, 1))
            .when(t -> t == ChronoUnit.DAYS, __ -> DateUtils.addDays(to_adjust, 1))
            .when(t -> t == ChronoUnit.WEEKS, __ -> DateUtils.addWeeks(to_adjust, 1))
            .when(t -> t == ChronoUnit.MONTHS, __ -> DateUtils.addMonths(to_adjust, 1))
            .when(t -> t == ChronoUnit.YEARS, __ -> DateUtils.addYears(to_adjust, 1)).otherwiseAssert();
}

From source file:nu.yona.server.analysis.service.ActivityService.java

private Page<WeekActivityOverviewDto> getWeekActivityOverviews(UUID userAnonymizedId, Pageable pageable,
        Set<IntervalInactivityDto> missingInactivities) {
    UserAnonymizedDto userAnonymized = userAnonymizedService.getUserAnonymized(userAnonymizedId);
    Interval interval = getInterval(getCurrentWeekDate(userAnonymized), pageable, ChronoUnit.WEEKS);

    List<WeekActivityOverviewDto> weekActivityOverviews = getWeekActivityOverviews(userAnonymizedId,
            missingInactivities, userAnonymized, interval);
    return new PageImpl<>(weekActivityOverviews, pageable,
            getTotalPageableItems(userAnonymized, ChronoUnit.WEEKS));
}