MutableDateTime epoch = new MutableDateTime(); epoch.setDate(0); //Set to Epoch time DateTime now = new DateTime(); Days days = Days.daysBetween(epoch, now); Weeks weeks = Weeks.weeksBetween(epoch, now); Months months = Months.monthsBetween(epoch, now); System.out.println("Days Since Epoch: " + days.getDays()); System.out.println("Weeks Since Epoch: " + weeks.getWeeks()); System.out.println("Months Since Epoch: " + months.getMonths());
@Test public void testDateDiffDate() { DateTime baseDateTime = new DateTime(1960, 5, 3, 0, 0, 0, 0, DateTimeZone.UTC); String baseDateTimeLiteral = "DATE '1960-05-03'"; assertFunction("date_diff('day', " + baseDateTimeLiteral + ", " + DATE_LITERAL + ")", BIGINT, (long) daysBetween(baseDateTime, DATE).getDays()); assertFunction("date_diff('week', " + baseDateTimeLiteral + ", " + DATE_LITERAL + ")", BIGINT, (long) weeksBetween(baseDateTime, DATE).getWeeks()); assertFunction("date_diff('month', " + baseDateTimeLiteral + ", " + DATE_LITERAL + ")", BIGINT, (long) monthsBetween(baseDateTime, DATE).getMonths()); assertFunction("date_diff('quarter', " + baseDateTimeLiteral + ", " + DATE_LITERAL + ")", BIGINT, (long) monthsBetween(baseDateTime, DATE).getMonths() / 3); assertFunction("date_diff('year', " + baseDateTimeLiteral + ", " + DATE_LITERAL + ")", BIGINT, (long) yearsBetween(baseDateTime, DATE).getYears()); }
assertFunction("date_diff('hour', " + baseDateTimeLiteral + ", " + TIMESTAMP_LITERAL + ")", BIGINT, (long) hoursBetween(baseDateTime, TIMESTAMP).getHours()); assertFunction("date_diff('day', " + baseDateTimeLiteral + ", " + TIMESTAMP_LITERAL + ")", BIGINT, (long) daysBetween(baseDateTime, TIMESTAMP).getDays()); assertFunction("date_diff('week', " + baseDateTimeLiteral + ", " + TIMESTAMP_LITERAL + ")", BIGINT, (long) weeksBetween(baseDateTime, TIMESTAMP).getWeeks()); assertFunction("date_diff('month', " + baseDateTimeLiteral + ", " + TIMESTAMP_LITERAL + ")", BIGINT, (long) monthsBetween(baseDateTime, TIMESTAMP).getMonths()); assertFunction("date_diff('quarter', " + baseDateTimeLiteral + ", " + TIMESTAMP_LITERAL + ")", BIGINT, (long) monthsBetween(baseDateTime, TIMESTAMP).getMonths() / 3); assertFunction("date_diff('week', " + weirdBaseDateTimeLiteral + ", " + WEIRD_TIMESTAMP_LITERAL + ")", BIGINT, (long) weeksBetween(weirdBaseDateTime, WEIRD_TIMESTAMP).getWeeks()); assertFunction("date_diff('month', " + weirdBaseDateTimeLiteral + ", " + WEIRD_TIMESTAMP_LITERAL + ")", BIGINT,
@Override public long getDiff(Interval interval) { return Weeks.weeksIn(interval).getWeeks(); } },
@Override public int numIn(ReadableInterval interval) { return Weeks.weeksIn(interval).getWeeks(); }
@Override public int numIn(ReadableInterval interval) { return Weeks.weeksIn(interval).getWeeks(); }
@Override public int numIn(ReadableInterval interval) { return Weeks.weeksIn(interval).getWeeks(); } },
public static boolean isSameWeek(Date date){ return Weeks.weeksBetween(new DateTime(date), new DateTime(Calendar.getInstance().getTime())).getWeeks() == 0; }
/** * Returns a {@link String} instance representing the configuration parameter's {@literal value}. * * @param value The configuration parameter's {@link org.joda.time.Weeks} value * @return A {@link String} instance representing the configuration parameter's typed value */ @Override public String convertTo(Weeks value) { if (value == null) { throw new ParameterException("Couldn't convert \"null\" to String."); } return String.valueOf(value.getWeeks()); } }
public static boolean isSameWeek(Date date){ return Weeks.weeksBetween(new DateTime(date), new DateTime(Calendar.getInstance().getTime())).getWeeks() == 0; }
DateTime start = new DateTime(2012, 11, 11, 12, 0); DateTime end = new DateTime(2012, 12, 16, 20, 15); Weeks weeks = Weeks.weeksBetween(start, end); Period period = new Period(start.plus(weeks), end); System.out.println("Weeks : " + weeks.getWeeks()); System.out.println("Days : " + period.getDays()); System.out.println("Hours : " + period.getHours()); System.out.println("Minutes : " + period.getMinutes());
/** * Converts seconds to weeks. * * @param seconds to be converted. * @return weeks equivalent of seconds */ public static int SECONDS_TO_WEEKS(int seconds) { Period period = new Period(Seconds.seconds(seconds)); return period.toStandardWeeks().getWeeks(); }
public SortedSet<Integer> getWeeks(final Interval lessonInterval) { final SortedSet<Integer> weeks = new TreeSet<Integer>(); final LocalDate firstPossibleLessonDay = lessonInterval.getStart().toLocalDate(); for (final LocalDate localDate : dates) { final Integer week = Weeks.weeksBetween(firstPossibleLessonDay, localDate).getWeeks() + 1; weeks.add(week); } return weeks; }
public int getWeeks() { return Weeks.weeksIn(interval).getWeeks(); }
/** * 获得两个日期距离几周 * * @param date1 * @param date2 * @param type 一周 * @return */ public static int getIntervalWeek(LocalDate date1, LocalDate date2, int type) { if (type == Attrs.MONDAY) { date1 = getMonFirstDayOfWeek(date1); date2 = getMonFirstDayOfWeek(date2); } else { date1 = getSunFirstDayOfWeek(date1); date2 = getSunFirstDayOfWeek(date2); } return Weeks.weeksBetween(date1, date2).getWeeks(); }
public DateIterator(DateTime end, DateTime start, Duration interval){ this.end = end ; this.start = start ; this.interval = interval ; // inclusive this.cur = this.start ; this.duration = new Duration(this.start, this.end); years = Years.yearsBetween(start,end).getYears(); months = Months.monthsBetween(start, end).getMonths(); weeks = Weeks.weeksBetween(start, end).getWeeks(); days = Days.daysBetween(start, end).getDays(); hours = Hours.hoursBetween(start, end).getHours(); minutes = Minutes.minutesBetween(start, end).getMinutes(); seconds = Seconds.secondsBetween(start, end).getSeconds(); weekDays = weekDays( start.toDate(), end.toDate()); stringRep = String.format("%s : %s : %s", start.toDate(), end.toDate(), interval); hashCode = ( 31* (( 31 * end.hashCode() ) + start.hashCode()) + interval.hashCode()); }
@Test public void testDateDiffDate() { DateTime baseDateTime = new DateTime(1960, 5, 3, 0, 0, 0, 0, DateTimeZone.UTC); String baseDateTimeLiteral = "DATE '1960-05-03'"; assertFunction("date_diff('day', " + baseDateTimeLiteral + ", " + DATE_LITERAL + ")", BIGINT, daysBetween(baseDateTime, DATE).getDays()); assertFunction("date_diff('week', " + baseDateTimeLiteral + ", " + DATE_LITERAL + ")", BIGINT, weeksBetween(baseDateTime, DATE).getWeeks()); assertFunction("date_diff('month', " + baseDateTimeLiteral + ", " + DATE_LITERAL + ")", BIGINT, monthsBetween(baseDateTime, DATE).getMonths()); assertFunction("date_diff('quarter', " + baseDateTimeLiteral + ", " + DATE_LITERAL + ")", BIGINT, monthsBetween(baseDateTime, DATE).getMonths() / 3); assertFunction("date_diff('year', " + baseDateTimeLiteral + ", " + DATE_LITERAL + ")", BIGINT, yearsBetween(baseDateTime, DATE).getYears()); }
@Test public void testDateDiffDate() { DateTime baseDateTime = new DateTime(1960, 5, 3, 0, 0, 0, 0, DateTimeZone.UTC); String baseDateTimeLiteral = "DATE '1960-05-03'"; assertFunction("date_diff('day', " + baseDateTimeLiteral + ", " + DATE_LITERAL + ")", BIGINT, (long) daysBetween(baseDateTime, DATE).getDays()); assertFunction("date_diff('week', " + baseDateTimeLiteral + ", " + DATE_LITERAL + ")", BIGINT, (long) weeksBetween(baseDateTime, DATE).getWeeks()); assertFunction("date_diff('month', " + baseDateTimeLiteral + ", " + DATE_LITERAL + ")", BIGINT, (long) monthsBetween(baseDateTime, DATE).getMonths()); assertFunction("date_diff('quarter', " + baseDateTimeLiteral + ", " + DATE_LITERAL + ")", BIGINT, (long) monthsBetween(baseDateTime, DATE).getMonths() / 3); assertFunction("date_diff('year', " + baseDateTimeLiteral + ", " + DATE_LITERAL + ")", BIGINT, (long) yearsBetween(baseDateTime, DATE).getYears()); }
@Test public void testDateDiffDate() { DateTime baseDateTime = new DateTime(1960, 5, 3, 0, 0, 0, 0, DateTimeZone.UTC); String baseDateTimeLiteral = "DATE '1960-05-03'"; assertFunction("date_diff('day', " + baseDateTimeLiteral + ", " + DATE_LITERAL + ")", BIGINT, (long) daysBetween(baseDateTime, DATE).getDays()); assertFunction("date_diff('week', " + baseDateTimeLiteral + ", " + DATE_LITERAL + ")", BIGINT, (long) weeksBetween(baseDateTime, DATE).getWeeks()); assertFunction("date_diff('month', " + baseDateTimeLiteral + ", " + DATE_LITERAL + ")", BIGINT, (long) monthsBetween(baseDateTime, DATE).getMonths()); assertFunction("date_diff('quarter', " + baseDateTimeLiteral + ", " + DATE_LITERAL + ")", BIGINT, (long) monthsBetween(baseDateTime, DATE).getMonths() / 3); assertFunction("date_diff('year', " + baseDateTimeLiteral + ", " + DATE_LITERAL + ")", BIGINT, (long) yearsBetween(baseDateTime, DATE).getYears()); }
public static int calculateNumberOfWholeBillingPeriods(final LocalDate startDate, final LocalDate endDate, final BillingPeriod billingPeriod) { final int numberBetween; final int numberInPeriod; if (billingPeriod.getPeriod().getDays() != 0) { numberBetween = Days.daysBetween(startDate, endDate).getDays(); numberInPeriod = billingPeriod.getPeriod().getDays(); } else if (billingPeriod.getPeriod().getWeeks() != 0) { numberBetween = Weeks.weeksBetween(startDate, endDate).getWeeks(); numberInPeriod = billingPeriod.getPeriod().getWeeks(); } else if (billingPeriod.getPeriod().getMonths() != 0) { numberBetween = Months.monthsBetween(startDate, endDate).getMonths(); numberInPeriod = billingPeriod.getPeriod().getMonths(); } else { numberBetween = Years.yearsBetween(startDate, endDate).getYears(); numberInPeriod = billingPeriod.getPeriod().getYears(); } return numberBetween / numberInPeriod; }