List of usage examples for org.joda.time DateTime dayOfWeek
public Property dayOfWeek()
From source file:com.mycollab.module.project.view.ticket.StartDateOrderComponent.java
License:Open Source License
@Override public void insertTickets(List<ProjectTicket> tickets) { DateTimeFormatter formatter = DateTimeFormat.forPattern(MyCollabUI.getLongDateFormat()) .withLocale(UserUIContext.getUserLocale()); for (ProjectTicket task : tickets) { if (task.getStartDate() != null) { Date startDate = task.getStartDate(); DateTime jodaTime = new DateTime(startDate, DateTimeZone.UTC); DateTime monDay = jodaTime.dayOfWeek().withMinimumValue(); String monDayStr = formatter.print(monDay); Long time = new LocalDate(monDay).toDate().getTime(); if (startDateAvailables.containsKey(time)) { DefaultTicketGroupComponent groupComponent = startDateAvailables.get(time); groupComponent.insertTicket(task); } else { DateTime maxValue = monDay.dayOfWeek().withMaximumValue(); String sundayStr = formatter.print(maxValue); String titleValue = String.format("%s - %s", monDayStr, sundayStr); DefaultTicketGroupComponent groupComponent = new DefaultTicketGroupComponent(titleValue); startDateAvailables.put(time, groupComponent); addComponent(groupComponent); groupComponent.insertTicket(task); }//from w ww . ja v a 2 s .c om } else { if (unspecifiedTasks == null) { unspecifiedTasks = new DefaultTicketGroupComponent( UserUIContext.getMessage(GenericI18Enum.OPT_UNDEFINED)); addComponent(unspecifiedTasks, 0); } unspecifiedTasks.insertTicket(task); } } }
From source file:com.netflix.ice.processor.BillingFileProcessor.java
License:Apache License
private void archiveSummary(Map<Product, ReadWriteData> dataMap, String prefix) throws Exception { DateTime monthDateTime = new DateTime(startMilli, DateTimeZone.UTC); for (Product product : dataMap.keySet()) { String prodName = product == null ? "all" : product.name; ReadWriteData data = dataMap.get(product); Collection<TagGroup> tagGroups = data.getTagGroups(); // init daily, weekly and monthly List<Map<TagGroup, Double>> daily = Lists.newArrayList(); List<Map<TagGroup, Double>> weekly = Lists.newArrayList(); List<Map<TagGroup, Double>> monthly = Lists.newArrayList(); // get last month data ReadWriteData lastMonthData = new DataWriter(prefix + "hourly_" + prodName + "_" + AwsUtils.monthDateFormat.print(monthDateTime.minusMonths(1)), true).getData(); // aggregate to daily, weekly and monthly int dayOfWeek = monthDateTime.getDayOfWeek(); int daysFromLastMonth = dayOfWeek - 1; int lastMonthNumHours = monthDateTime.minusMonths(1).dayOfMonth().getMaximumValue() * 24; for (int hour = 0 - daysFromLastMonth * 24; hour < data.getNum(); hour++) { if (hour < 0) { // handle data from last month, add to weekly Map<TagGroup, Double> prevData = lastMonthData.getData(lastMonthNumHours + hour); for (TagGroup tagGroup : tagGroups) { Double v = prevData.get(tagGroup); if (v != null && v != 0) { addValue(weekly, 0, tagGroup, v); }//from w ww . jav a 2 s . co m } } else { // this month, add to weekly, monthly and daily Map<TagGroup, Double> map = data.getData(hour); for (TagGroup tagGroup : tagGroups) { Double v = map.get(tagGroup); if (v != null && v != 0) { addValue(monthly, 0, tagGroup, v); addValue(daily, hour / 24, tagGroup, v); addValue(weekly, (hour + daysFromLastMonth * 24) / 24 / 7, tagGroup, v); } } } } // archive daily int year = monthDateTime.getYear(); DataWriter writer = new DataWriter(prefix + "daily_" + prodName + "_" + year, true); ReadWriteData dailyData = writer.getData(); dailyData.setData(daily, monthDateTime.getDayOfYear() - 1, false); writer.archive(); // archive monthly writer = new DataWriter(prefix + "monthly_" + prodName, true); ReadWriteData monthlyData = writer.getData(); monthlyData.setData(monthly, Months.monthsBetween(config.startDate, monthDateTime).getMonths(), false); writer.archive(); // archive weekly writer = new DataWriter(prefix + "weekly_" + prodName, true); ReadWriteData weeklyData = writer.getData(); DateTime weekStart = monthDateTime.withDayOfWeek(1); int index; if (!weekStart.isAfter(config.startDate)) index = 0; else index = Weeks.weeksBetween(config.startDate, weekStart).getWeeks() + (config.startDate.dayOfWeek() == weekStart.dayOfWeek() ? 0 : 1); weeklyData.setData(weekly, index, true); writer.archive(); } }
From source file:com.pacoapp.paco.shared.scheduling.EsmGenerator2.java
License:Open Source License
private DateTime adjustStartDateToBeginningOfPeriod(DateTime startDate) { switch (schedule.getEsmPeriodInDays()) { case Schedule.ESM_PERIOD_DAY: return startDate; case Schedule.ESM_PERIOD_WEEK: return startDate.dayOfWeek().withMinimumValue(); case Schedule.ESM_PERIOD_MONTH: return startDate.dayOfMonth().withMinimumValue(); default://from w ww . j a va 2 s .co m throw new IllegalStateException("Cannot get here."); } }
From source file:com.squarespace.template.plugins.PluginDateUtils.java
License:Apache License
/** * Takes a strftime()-compatible format string and outputs the properly formatted date. */// w ww . ja v a 2 s. c o m public static void formatDate(Locale locale, String fmt, long instant, String tzName, StringBuilder buf) { DateTimeZone zone = null; try { zone = DateTimeZone.forID(tzName); } catch (IllegalArgumentException e) { zone = DateTimeZone.getDefault(); } DateTime date = new DateTime(instant, zone); int index = 0; int len = fmt.length(); while (index < len) { char c1 = fmt.charAt(index); index++; if (c1 != '%' || index == len) { buf.append(c1); continue; } char c2 = fmt.charAt(index); switch (c2) { case 'A': buf.append(date.dayOfWeek().getAsText(locale)); break; case 'a': buf.append(date.dayOfWeek().getAsShortText(locale)); break; case 'B': buf.append(date.monthOfYear().getAsText(locale)); break; case 'b': buf.append(date.monthOfYear().getAsShortText(locale)); break; case 'C': leftPad(date.centuryOfEra().get(), '0', 2, buf); break; case 'c': formatAggregate(DateTimeAggregate.FULL, locale, date, buf); break; case 'D': formatAggregate(DateTimeAggregate.MMDDYY, locale, date, buf); break; case 'd': leftPad(date.dayOfMonth().get(), '0', 2, buf); break; case 'e': leftPad(date.dayOfMonth().get(), ' ', 2, buf); break; case 'F': formatAggregate(DateTimeAggregate.YYYYMMDD, locale, date, buf); break; case 'G': buf.append(date.year().get()); break; case 'g': leftPad(date.yearOfCentury().get(), '0', 2, buf); break; case 'H': leftPad(date.hourOfDay().get(), '0', 2, buf); break; case 'h': buf.append(date.monthOfYear().getAsShortText(locale)); break; case 'I': leftPad(date.get(DateTimeFieldType.clockhourOfHalfday()), '0', 2, buf); break; case 'j': leftPad(date.dayOfYear().get(), '0', 3, buf); break; case 'k': leftPad(date.get(DateTimeFieldType.clockhourOfDay()), ' ', 2, buf); break; case 'l': leftPad(date.get(DateTimeFieldType.clockhourOfHalfday()), ' ', 2, buf); break; case 'M': leftPad(date.minuteOfHour().get(), '0', 2, buf); break; case 'm': leftPad(date.monthOfYear().get(), '0', 2, buf); break; case 'n': buf.append('\n'); break; case 'P': buf.append(date.get(DateTimeFieldType.halfdayOfDay()) == 0 ? "am" : "pm"); break; case 'p': buf.append(date.get(DateTimeFieldType.halfdayOfDay()) == 0 ? "AM" : "PM"); break; case 'R': formatAggregate(DateTimeAggregate.H240_M0, locale, date, buf); break; case 'S': leftPad(date.secondOfMinute().get(), '0', 2, buf); break; case 's': buf.append(instant / 1000); break; case 't': buf.append('\t'); break; case 'T': // Equivalent of %H:%M:%S formatAggregate(DateTimeAggregate.H240_M0, locale, date, buf); buf.append(':'); leftPad(date.secondOfMinute().get(), '0', 2, buf); break; case 'U': // TODO: fix week-of-year number leftPad(date.weekOfWeekyear().get(), '0', 2, buf); break; case 'u': buf.append(date.dayOfWeek().get()); break; case 'V': // TODO: fix week-of-year number leftPad(date.weekOfWeekyear().get(), '0', 2, buf); break; case 'v': // Equivalent of %e-%b-%Y leftPad(date.dayOfMonth().get(), ' ', 2, buf); buf.append('-'); buf.append(date.monthOfYear().getAsShortText()); buf.append('-'); buf.append(date.getYear()); break; case 'W': // TODO: fix week-of-year number break; case 'w': buf.append(date.dayOfWeek().get()); break; case 'X': formatAggregate(DateTimeAggregate.HHMMSSP, locale, date, buf); break; case 'x': formatAggregate(DateTimeAggregate.MMDDYYYY, locale, date, buf); break; case 'Y': buf.append(date.getYear()); break; case 'y': leftPad(date.getYearOfCentury(), '0', 2, buf); break; case 'Z': // Note: Joda's nameKey happens to be the same as the shortName. Making // this change to workaround Joda https://github.com/JodaOrg/joda-time/issues/288 buf.append(zone.getNameKey(date.getMillis())); break; case 'z': int offset = date.getZone().getOffset(instant) / 60000; int hours = (int) Math.floor(offset / 60); int minutes = (hours * 60) - offset; if (offset < 0) { buf.append('-'); } leftPad(Math.abs(hours), '0', 2, buf); leftPad(Math.abs(minutes), '0', 2, buf); break; default: // no match, emit literals. buf.append(c1).append(c2); } index++; } }
From source file:com.squarespace.template.plugins.PluginDateUtils.java
License:Apache License
private static void formatAggregate(DateTimeAggregate type, Locale locale, DateTime date, StringBuilder buf) { switch (type) { case FULL:// www .j a v a 2s . c o m buf.append(date.dayOfWeek().getAsShortText(locale)); buf.append(' '); leftPad(date.dayOfMonth().get(), '0', 2, buf); buf.append(' '); buf.append(date.monthOfYear().getAsShortText(locale)); buf.append(' '); buf.append(date.year().get()); buf.append(' '); leftPad(date.get(DateTimeFieldType.clockhourOfHalfday()), '0', 2, buf); buf.append(':'); leftPad(date.minuteOfHour().get(), '0', 2, buf); buf.append(':'); leftPad(date.secondOfMinute().get(), '0', 2, buf); buf.append(' '); buf.append(date.get(DateTimeFieldType.halfdayOfDay()) == 0 ? "AM" : "PM"); buf.append(' '); buf.append(date.getZone().getNameKey(date.getMillis())); break; case H240_M0: leftPad(date.get(DateTimeFieldType.clockhourOfDay()), '0', 2, buf); buf.append(':'); leftPad(date.minuteOfHour().get(), '0', 2, buf); break; case HHMMSSP: leftPad(date.get(DateTimeFieldType.hourOfHalfday()), '0', 2, buf); buf.append(':'); leftPad(date.getMinuteOfHour(), '0', 2, buf); buf.append(':'); leftPad(date.getSecondOfMinute(), '0', 2, buf); buf.append(' '); buf.append(date.get(DateTimeFieldType.halfdayOfDay()) == 0 ? "AM" : "PM"); break; case MMDDYY: leftPad(date.getMonthOfYear(), '0', 2, buf); buf.append('/'); leftPad(date.dayOfMonth().get(), '0', 2, buf); buf.append('/'); leftPad(date.yearOfCentury().get(), '0', 2, buf); break; case MMDDYYYY: leftPad(date.getMonthOfYear(), '0', 2, buf); buf.append('/'); leftPad(date.dayOfMonth().get(), '0', 2, buf); buf.append('/'); buf.append(date.getYear()); break; case YYYYMMDD: buf.append(date.year().get()); buf.append('-'); leftPad(date.monthOfYear().get(), '0', 2, buf); buf.append('-'); leftPad(date.dayOfMonth().get(), '0', 2, buf); break; default: break; } }
From source file:com.toedter.jcalendar.core.DateChooser.java
License:Open Source License
private void computeDayCellValues() { DateTime firstDayThisMonth = new DateTime(dateTime.getYear(), dateTime.getMonthOfYear(), 1, 0, 0, 0, 0); DateTime firstDayNextMonth = firstDayThisMonth.plusMonths(1).withDayOfMonth(1); int dayOfWeek = firstDayThisMonth.dayOfWeek().get(); Days d = Days.daysBetween(firstDayThisMonth, firstDayNextMonth); int daysInThisMonth = d.getDays(); System.out.println(daysInThisMonth); int index = 2; for (IDayCell dayCell : dayCells) { if (index <= dayOfWeek || index - dayOfWeek > daysInThisMonth) { ((DayCell) dayCell).dayText = ""; } else {/*from www. j ava 2 s . c o m*/ ((DayCell) dayCell).dayText = "" + (index - dayOfWeek); } index++; } }
From source file:fi.craplab.roameo.ui.StatisticsWeekFragment.java
License:Open Source License
private void setupData() { DateTime dateTime = getFirstDayOfWeek(); DebugLog.d(TAG, String.format(Locale.US, "Setting up data for week %2d %d starting %s", mWeekNumber, mWeekYear, dateTime));// w w w. j a va 2 s . c o m for (int day = 0; day < DateTimeConstants.DAYS_PER_WEEK; day++) { DateTime dt = dateTime.plusDays(day); long steps = CallSession.getStepsForDay(dt.getMillis()); float duration = CallSession.getDurationsForDay(dt.getMillis()) / 1000; float pace = (duration > 0) ? (steps / (duration / 60f)) : 0.0f; mStepValues.add(new PointValue(day, steps)); mDurationValues.add(new PointValue(day, duration)); mPaceValues.add(new PointValue(day, pace)); mDayNameValues.add(day, new AxisValue(day).setLabel(dt.dayOfWeek().getAsShortText())); mDateValues.add(day, new AxisValue(day) .setLabel(String.format(Locale.US, "%02d/%02d", dt.getDayOfMonth(), dt.getMonthOfYear()))); } }
From source file:io.druid.query.expression.TimestampExtractExprMacro.java
License:Apache License
@Override public Expr apply(final List<Expr> args) { if (args.size() < 2 || args.size() > 3) { throw new IAE("Function[%s] must have 2 to 3 arguments", name()); }/*from ww w.jav a2 s .com*/ if (!args.get(1).isLiteral() || args.get(1).getLiteralValue() == null) { throw new IAE("Function[%s] unit arg must be literal", name()); } if (args.size() > 2 && !args.get(2).isLiteral()) { throw new IAE("Function[%s] timezone arg must be literal", name()); } final Expr arg = args.get(0); final Unit unit = Unit.valueOf(((String) args.get(1).getLiteralValue()).toUpperCase()); final DateTimeZone timeZone; if (args.size() > 2) { timeZone = ExprUtils.toTimeZone(args.get(2)); } else { timeZone = DateTimeZone.UTC; } final ISOChronology chronology = ISOChronology.getInstance(timeZone); class TimestampExtractExpr implements Expr { @Nonnull @Override public ExprEval eval(final ObjectBinding bindings) { final DateTime dateTime = new DateTime(arg.eval(bindings).asLong()).withChronology(chronology); switch (unit) { case EPOCH: return ExprEval.of(dateTime.getMillis()); case SECOND: return ExprEval.of(dateTime.secondOfMinute().get()); case MINUTE: return ExprEval.of(dateTime.minuteOfHour().get()); case HOUR: return ExprEval.of(dateTime.hourOfDay().get()); case DAY: return ExprEval.of(dateTime.dayOfMonth().get()); case DOW: return ExprEval.of(dateTime.dayOfWeek().get()); case DOY: return ExprEval.of(dateTime.dayOfYear().get()); case WEEK: return ExprEval.of(dateTime.weekOfWeekyear().get()); case MONTH: return ExprEval.of(dateTime.monthOfYear().get()); case QUARTER: return ExprEval.of((dateTime.monthOfYear().get() - 1) / 3 + 1); case YEAR: return ExprEval.of(dateTime.year().get()); default: throw new ISE("Unhandled unit[%s]", unit); } } @Override public void visit(final Visitor visitor) { arg.visit(visitor); visitor.visit(this); } } return new TimestampExtractExpr(); }
From source file:net.chrissearle.flickrvote.web.validators.DayOfWeekValidator.java
License:Apache License
public void validate(Object object) throws ValidationException { String fieldName = getFieldName(); Date fieldValue = (Date) getFieldValue(fieldName, object); DateTime date = new DateTime(fieldValue); if (!date.dayOfWeek().getAsShortText(Locale.ENGLISH).equalsIgnoreCase(dayOfWeek)) { addFieldError(fieldName, object); }/*www . ja v a 2 s . c om*/ }
From source file:net.sourceforge.fenixedu.presentationTier.Action.resourceAllocationManager.ViewAllRoomsSchedulesDA.java
License:Open Source License
public ActionForward downloadRoomLessonOccupationInfo(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException { final ExecutionSemester executionSemester = getExecutionSemester(request); final ExecutionYear executionYear = executionSemester.getExecutionYear(); response.setContentType("application/vnd.ms-excel"); response.setHeader("Content-disposition", "attachment; filename=occupationMap" + executionYear.getYear().replace('/', '_') + "_" + executionSemester.getSemester() + ".xls"); final RoomMap occupationMap = new RoomMap(); Space.getSpaces().forEach(s -> occupationMap.register(s)); for (final ExecutionCourse executionCourse : executionSemester.getAssociatedExecutionCoursesSet()) { for (final CourseLoad courseLoad : executionCourse.getCourseLoadsSet()) { for (final Shift shift : courseLoad.getShiftsSet()) { for (final Lesson lesson : shift.getAssociatedLessonsSet()) { occupationMap.register(lesson); }//www .j av a 2s. com } } } final Spreadsheet spreadsheet = new Spreadsheet("OccupationMap"); spreadsheet.setHeader(BundleUtil.getString(Bundle.APPLICATION, "label.building")); spreadsheet.setHeader(BundleUtil.getString(Bundle.APPLICATION, "label.identification")); spreadsheet.setHeader(BundleUtil.getString(Bundle.APPLICATION, "label.blueprintNumber")); spreadsheet.setHeader(BundleUtil.getString(Bundle.APPLICATION, "label.doorNumber")); spreadsheet.setHeader(BundleUtil.getString(Bundle.APPLICATION, "label.description")); spreadsheet.setHeader(BundleUtil.getString(Bundle.APPLICATION, "label.classification")); final DateTime now = new DateTime(); for (int weekDay = 0; weekDay < 6; weekDay++) { final DateTime dateTime = now.withDayOfWeek(weekDay + 1); final String weekDayString = dateTime.dayOfWeek().getAsText(I18N.getLocale()); for (int hour = 0; hour < 16; hour++) { spreadsheet.setHeader(weekDayString + " " + (hour + 8) + ":00"); spreadsheet.setHeader(weekDayString + " " + (hour + 8) + ":30"); } } for (final Entry<Space, boolean[][]> entry : occupationMap.entrySet()) { final Space space = entry.getKey(); final String identification = space.getName(); final Space building = SpaceUtils.getSpaceBuilding(space); final String buildingName = building == null ? "" : building.getPresentationName(); final boolean[][] slots = entry.getValue(); final Row row = spreadsheet.addRow(); row.setCell(buildingName); row.setCell(identification == null ? " " : identification); final String blueprintNumber = findClosestBlueprintNumber(space); row.setCell(blueprintNumber); if (SpaceUtils.isRoom(space)) { Optional<String> doorNumber = space.getMetadata("doorNumber"); Optional<String> description = space.getMetadata("description"); row.setCell(doorNumber.isPresent() ? doorNumber.get() : " "); row.setCell(description.isPresent() ? description.get() : " "); } else if (SpaceUtils.isRoomSubdivision(space)) { final Space room = findSurroundingRoom(space); if (room == null) { row.setCell(" "); row.setCell(" "); } else { Optional<String> doorNumber = space.getMetadata("doorNumber"); Optional<String> description = space.getMetadata("description"); row.setCell(doorNumber.isPresent() ? doorNumber.get() : " "); row.setCell(description.isPresent() ? description.get() : " "); } } else { row.setCell(" "); row.setCell(" "); } SpaceClassification classification = space.getClassification(); if (classification == null) { row.setCell(" "); } else { row.setCell(classification.getAbsoluteCode() + " " + classification.getName().getContent()); } for (int i = 0; i < WEEKDAY_COUNT; i++) { for (int j = 0; j < HOUR_COUNT; j++) { row.setCell(Boolean.toString(slots[i][j])); } } } final ServletOutputStream writer = response.getOutputStream(); spreadsheet.exportToXLSSheet(writer); writer.flush(); response.flushBuffer(); return null; }