List of usage examples for org.joda.time Weeks weeksBetween
public static Weeks weeksBetween(ReadablePartial start, ReadablePartial end)
Weeks
representing the number of whole weeks between the two specified partial datetimes. From source file:com.simopuve.helper.POIHelper.java
public static Integer getWeekNumber(Date currentDate) { Calendar cal = Calendar.getInstance(); cal.setTime(currentDate);/*from w ww. j a v a 2s . c o m*/ Logger.getLogger(POIHelper.class.getName()).log(Level.INFO, "Received date: " + cal.get(Calendar.DAY_OF_MONTH) + "-" + (cal.get(Calendar.MONTH)) + "-" + cal.get(Calendar.YEAR)); org.joda.time.format.DateTimeFormatter fmt = DateTimeFormat.forPattern("dd-MM-yyy"); DateTime nowDate = fmt.parseLocalDate( cal.get(Calendar.DAY_OF_MONTH) + "-" + (cal.get(Calendar.MONTH) + 1) + "-" + cal.get(Calendar.YEAR)) .toDateTimeAtCurrentTime(); //DateTime nowDate = new DateTime(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH) + 1, cal.get(Calendar.DAY_OF_MONTH), 0, 0, 0, 0); Weeks w = Weeks.weeksBetween(initDateWeek, nowDate); return w.getWeeks() + 435; }
From source file:com.weekcalendar.WeekCalendarFragment.java
License:Open Source License
/** * Set set date of the selected week/*from w w w .j ava 2s.c o m*/ */ public void setDateWeek(Calendar calendar) { LocalDateTime ldt = LocalDateTime.fromCalendarFields(calendar); AppController.getInstance().setSelected(ldt); int nextPage = Weeks.weeksBetween(mStartDate, ldt).getWeeks(); if (nextPage < 0 || (nextPage == 0 && ldt.isBefore(mStartDate))) { // make selected date to previous week on viewpager onSelected: // if result is negative or it is 0 weeks but earlier than week start date. --nextPage; } if (nextPage >= -mMiddlePoint && nextPage < mMiddlePoint) { mViewPager.setCurrentItem(nextPage + mMiddlePoint); if (mCalenderListener != null) { mCalenderListener.onSelectDate(ldt); } WeekFragment fragment = (WeekFragment) mViewPager.getAdapter().instantiateItem(mViewPager, nextPage + mMiddlePoint); fragment.ChangeSelector(ldt); } }
From source file:de.sub.goobi.forms.ProjekteForm.java
License:Open Source License
private Double getThroughputPerDay() { DateTime start = new DateTime(this.myProjekt.getStartDate().getTime()); DateTime end = new DateTime(this.myProjekt.getEndDate().getTime()); Weeks weeks = Weeks.weeksBetween(start, end); logger.trace(weeks.getWeeks());/*from ww w . j a va2s . co m*/ int days = (weeks.getWeeks() * 5); if (days < 1) { days = 1; } return (double) this.myProjekt.getNumberOfVolumes() / (double) days; }
From source file:de.sub.goobi.forms.ProjekteForm.java
License:Open Source License
/** * calculate throughput of pages per day. * * @return calculation/*from w w w. ja va 2 s. co m*/ */ private Double getThroughputPagesPerDay() { DateTime start = new DateTime(this.myProjekt.getStartDate().getTime()); DateTime end = new DateTime(this.myProjekt.getEndDate().getTime()); Weeks weeks = Weeks.weeksBetween(start, end); int days = (weeks.getWeeks() * 5); if (days < 1) { days = 1; } return (double) this.myProjekt.getNumberOfPages() / (double) days; }
From source file:de.symeda.sormas.api.utils.DateHelper.java
License:Open Source License
/** * Calculate weeks between the two given dates. This includes both the start and * end dates, so week 1 to week 4 of a year will return 4. *//*from w w w . j av a 2 s.c o m*/ public static int getWeeksBetween(Date start, Date end) { return Weeks.weeksBetween(new LocalDate(start.getTime()), new LocalDate(end.getTime())).getWeeks() + 1; }
From source file:divconq.util.TimeUtil.java
License:Open Source License
/** * return number of weeks since Jan 5, 1970 * /*from www.j a v a2 s . co m*/ * @param v date to calculate week number off of * @return number of weeks */ static public int getWeekNumber(DateTime v) { DateTime root = new DateTime(1970, 1, 5, 0, 0, 0, 0, v.getZone()); // use the same zone return Weeks.weeksBetween(root, v).getWeeks(); //long n = v.getMillis() - 345600000; // start of first week //return (int) (n / 604800000); }
From source file:dk.teachus.backend.domain.impl.PeriodImpl.java
License:Apache License
public boolean hasDate(DateMidnight date) { boolean hasDate = false; // Check weekday if (hasWeekDay(date)) { // Check start/end date if (dateIntervalContains(date)) { // If the period has a start date also consider the // repeatEveryWeek factor if (beginDate != null && repeatEveryWeek > 1) { int weeks = Weeks.weeksBetween(beginDate, date).getWeeks(); if (weeks % repeatEveryWeek == 0) { hasDate = true;/* www . j ava2 s .c om*/ } } else { hasDate = true; } } } return hasDate; }
From source file:edu.nyu.vida.data_polygamy.relationship_computation.CorrelationReducer.java
License:BSD License
public static TimeSeriesStats getStats(int temporal, TopologyTimeSeriesWritable timeSeries1, TopologyTimeSeriesWritable timeSeries2, boolean temporalPermutationTest) { TimeSeriesStats output = new TimeSeriesStats(); if ((timeSeries1 == null) || (timeSeries2 == null)) return output; // detecting intersection long start1 = timeSeries1.getStart(); long end1 = timeSeries1.getEnd(); long start2 = timeSeries2.getStart(); long end2 = timeSeries2.getEnd(); if (((end1 < start2) && (start1 < start2)) || ((end1 > end2) && (start1 > end2))) return output; output.setIntersect(true);//w w w. j a va 2 s . c o m DateTime start1Obj = new DateTime(start1 * 1000, DateTimeZone.UTC); DateTime end1Obj = new DateTime(end1 * 1000, DateTimeZone.UTC); DateTime start2Obj = new DateTime(start2 * 1000, DateTimeZone.UTC); DateTime end2Obj = new DateTime(end2 * 1000, DateTimeZone.UTC); byte[] eventTimeSeries1 = timeSeries1.getTimeSeries(); byte[] eventTimeSeries2 = timeSeries2.getTimeSeries(); int startRange = 0; int endRange = 0; switch (temporal) { case FrameworkUtils.HOUR: startRange = (start1 > start2) ? Hours.hoursBetween(start2Obj, start1Obj).getHours() : Hours.hoursBetween(start1Obj, start2Obj).getHours(); endRange = (end1 > end2) ? Hours.hoursBetween(end2Obj, end1Obj).getHours() : Hours.hoursBetween(end1Obj, end2Obj).getHours(); break; case FrameworkUtils.DAY: startRange = (start1 > start2) ? Days.daysBetween(start2Obj, start1Obj).getDays() : Days.daysBetween(start1Obj, start2Obj).getDays(); endRange = (end1 > end2) ? Days.daysBetween(end2Obj, end1Obj).getDays() : Days.daysBetween(end1Obj, end2Obj).getDays(); break; case FrameworkUtils.WEEK: startRange = (start1 > start2) ? Weeks.weeksBetween(start2Obj, start1Obj).getWeeks() : Weeks.weeksBetween(start1Obj, start2Obj).getWeeks(); endRange = (end1 > end2) ? Weeks.weeksBetween(end2Obj, end1Obj).getWeeks() : Weeks.weeksBetween(end1Obj, end2Obj).getWeeks(); break; case FrameworkUtils.MONTH: startRange = (start1 > start2) ? Months.monthsBetween(start2Obj, start1Obj).getMonths() : Months.monthsBetween(start1Obj, start2Obj).getMonths(); endRange = (end1 > end2) ? Months.monthsBetween(end2Obj, end1Obj).getMonths() : Months.monthsBetween(end1Obj, end2Obj).getMonths(); break; case FrameworkUtils.YEAR: startRange = (start1 > start2) ? Years.yearsBetween(start2Obj, start1Obj).getYears() : Years.yearsBetween(start1Obj, start2Obj).getYears(); endRange = (end1 > end2) ? Years.yearsBetween(end2Obj, end1Obj).getYears() : Years.yearsBetween(end1Obj, end2Obj).getYears(); break; default: startRange = (start1 > start2) ? Hours.hoursBetween(start2Obj, start1Obj).getHours() : Hours.hoursBetween(start1Obj, start2Obj).getHours(); endRange = (end1 > end2) ? Hours.hoursBetween(end2Obj, end1Obj).getHours() : Hours.hoursBetween(end1Obj, end2Obj).getHours(); break; } int indexStart1 = (start2 > start1) ? startRange : 0; int indexStart2 = (start2 > start1) ? 0 : startRange; int indexEnd1 = (end2 > end1) ? eventTimeSeries1.length : eventTimeSeries1.length - endRange; int indexEnd2 = (end2 > end1) ? eventTimeSeries2.length - endRange : eventTimeSeries2.length; /*DateTime startIntersect = FrameworkUtils.addTime(temporal, indexStart1, start1Obj); if (!(startIntersect.isEqual(FrameworkUtils.addTime(temporal, indexStart2, start2Obj)))) { System.out.println("Something went wrong... Different starts"); System.exit(-1); }*/ byte[] timeSeries1Int = Arrays.copyOfRange(eventTimeSeries1, indexStart1, indexEnd1); byte[] timeSeries2Int = Arrays.copyOfRange(eventTimeSeries2, indexStart2, indexEnd2); if (timeSeries1Int.length != timeSeries2Int.length) { System.out.println("Something went wrong... Different sizes"); System.exit(-1); } int nMatchEvents = 0; int nMatchPosEvents = 0; int nMatchNegEvents = 0; int nPosFirstNonSecond = 0; int nNegFirstNonSecond = 0; int nNonFirstPosSecond = 0; int nNonFirstNegSecond = 0; //String eventDateTime = null; int indexD1 = (temporalPermutationTest) ? new Random().nextInt(timeSeries1Int.length) : 0; int indexD2 = (temporalPermutationTest) ? new Random().nextInt(timeSeries2Int.length) : 0; for (int i = 0; i < timeSeries1Int.length; i++) { int j = (indexD1 + i) % timeSeries1Int.length; int k = (indexD2 + i) % timeSeries2Int.length; byte result = (byte) (timeSeries1Int[j] | timeSeries2Int[k]); //eventDateTime = FrameworkUtils.getTemporalStr( // temporal, FrameworkUtils.addTime(temporal, j, startIntersect)); switch (result) { case FrameworkUtils.nonEventsMatch: // both non events // do nothing break; case FrameworkUtils.posEventsMatch: // both positive nMatchEvents++; nMatchPosEvents++; //output.addMatchPosEvents(eventDateTime); break; case FrameworkUtils.nonEventPosEventMatch: // one positive, one non-event if (timeSeries1Int[j] == FrameworkUtils.positiveEvent) nPosFirstNonSecond++; else nNonFirstPosSecond++; break; case FrameworkUtils.negEventsMatch: // both negative nMatchEvents++; nMatchPosEvents++; //output.addMatchPosEvents(eventDateTime); break; case FrameworkUtils.nonEventNegEventMatch: // one negative, one non-event if (timeSeries1Int[j] == FrameworkUtils.negativeEvent) nNegFirstNonSecond++; else nNonFirstNegSecond++; break; case FrameworkUtils.negEventPosEventMatch: // one negative, one positive nMatchEvents++; nMatchNegEvents++; //output.addMatchNegEvents(eventDateTime); break; default: System.out.println("Something went wrong... Wrong case"); System.exit(-1); } } output.setParameters(nMatchEvents, nMatchPosEvents, nMatchNegEvents, nPosFirstNonSecond, nNegFirstNonSecond, nNonFirstPosSecond, nNonFirstNegSecond); return output; }
From source file:edu.nyu.vida.data_polygamy.utils.FrameworkUtils.java
License:BSD License
public static int getTimeSteps(int tempRes, int startTime, int endTime) { if (startTime > endTime) { return 0; }/*from ww w . ja v a2 s . c o m*/ int timeSteps = 0; DateTime start = new DateTime(((long) startTime) * 1000, DateTimeZone.UTC); DateTime end = new DateTime(((long) endTime) * 1000, DateTimeZone.UTC); switch (tempRes) { case FrameworkUtils.HOUR: timeSteps = Hours.hoursBetween(start, end).getHours(); break; case FrameworkUtils.DAY: timeSteps = Days.daysBetween(start, end).getDays(); break; case FrameworkUtils.WEEK: timeSteps = Weeks.weeksBetween(start, end).getWeeks(); break; case FrameworkUtils.MONTH: timeSteps = Months.monthsBetween(start, end).getMonths(); break; case FrameworkUtils.YEAR: timeSteps = Years.yearsBetween(start, end).getYears(); break; default: timeSteps = Hours.hoursBetween(start, end).getHours(); break; } timeSteps++; return timeSteps; }
From source file:influent.server.utilities.DateRangeBuilder.java
License:MIT License
public static FL_DateRange getDateRange(DateTime startDate, DateTime endDate) { if (startDate == null || endDate == null) { return null; }//from w w w.j a va2 s. c om // TODO: add support for numIntervalsPerBin, but on the client resource side in charts only. Days days = Days.daysBetween(startDate, endDate); if (days.getDays() == 14) { return new ConstrainedDateRange(startDate, FL_DateInterval.DAYS, 14L); } // if (days.getDays() == 30) { return new ConstrainedDateRange(startDate, FL_DateInterval.DAYS, 15L, 2); } // if (days.getDays() == 60) { return new ConstrainedDateRange(startDate, FL_DateInterval.DAYS, 15L, 4); } Weeks weeks = Weeks.weeksBetween(startDate, endDate); if (weeks.getWeeks() == 16) { return new ConstrainedDateRange(startDate, FL_DateInterval.WEEKS, 16L); } // if (weeks.getWeeks() == 32) { return new ConstrainedDateRange(startDate, FL_DateInterval.WEEKS, 16L, 2); } Months months = Months.monthsBetween(startDate, endDate); if (months.getMonths() == 12) { return new ConstrainedDateRange(startDate, FL_DateInterval.MONTHS, 12L); } if (months.getMonths() == 16) { return new ConstrainedDateRange(startDate, FL_DateInterval.MONTHS, 16L); } // if (months.getMonths() == 24) { return new ConstrainedDateRange(startDate, FL_DateInterval.MONTHS, 16L, 2); } if (months.getMonths() == 32) { return new ConstrainedDateRange(startDate, FL_DateInterval.QUARTERS, 12L); } Years years = Years.yearsBetween(startDate, endDate); if (years.getYears() == 4) { return new ConstrainedDateRange(startDate, FL_DateInterval.QUARTERS, 16L); } // if (years.getYears() == 8) { return new ConstrainedDateRange(startDate, FL_DateInterval.QUARTERS, 16L, 2); } if (years.getYears() == 16) { return new ConstrainedDateRange(startDate, FL_DateInterval.YEARS, 16L); } throw new RuntimeException("Unsupported chart date range: " + startDate + " to " + endDate); }