List of usage examples for org.joda.time Period Period
private Period(int[] values, PeriodType type)
From source file:org.projectbuendia.client.utils.RelativeDateTimeFormatter.java
License:Apache License
/** Formats a representation of {@code date} relative to {@code anchor}. */ public String format(LocalDate date, LocalDate anchor) { if (date.isAfter(anchor)) { return "in the future"; // TODO/i18n }/*w ww .j a v a 2 s. c o m*/ Period period = new Period(date, anchor); int daysAgo = period.toStandardDays().getDays(); return daysAgo > 1 ? daysAgo + " days ago" : // TODO/i18n daysAgo == 1 ? "yesterday" : "today"; // TODO/i18n }
From source file:org.projectbuendia.client.utils.RelativeDateTimeFormatter.java
License:Apache License
/** Formats a representation of {@code dateTime} relative to {@code anchor}. */ public String format(DateTime dateTime, DateTime anchor) { if (dateTime.isAfter(anchor)) { return "in the future"; // TODO/i18n }//from w ww.j a v a2 s . co m Period period = new Period(dateTime, anchor); int daysAgo = period.toStandardDays().getDays(); int hoursAgo = period.toStandardHours().getHours(); int minutesAgo = period.toStandardMinutes().getMinutes(); return daysAgo > 1 ? daysAgo + " days ago" : // TODO/i18n hoursAgo > 1 ? hoursAgo + " hours ago" : // TODO/i18n minutesAgo > 1 ? minutesAgo + " min ago" : // TODO/i18n "right now"; // TODO/i18n }
From source file:org.projectbuendia.client.utils.Utils.java
License:Apache License
/** Converts a birthdate to a string describing age in months or years. */ public static String birthdateToAge(LocalDate birthdate, Resources resources) { Period age = new Period(birthdate, LocalDate.now()); int years = age.getYears(), months = age.getMonths(); return years >= 5 ? resources.getString(R.string.abbrev_n_years, years) : resources.getString(R.string.abbrev_n_months, months + years * 12); }
From source file:org.projectforge.plugins.teamcal.event.TeamCalEventProvider.java
License:Open Source License
/** * @see org.projectforge.web.calendar.MyFullCalendarEventsProvider#buildEvents(org.joda.time.DateTime, org.joda.time.DateTime) */// www . ja v a 2 s . com @Override protected void buildEvents(final DateTime start, final DateTime end) { final TemplateEntry activeTemplateEntry = filter.getActiveTemplateEntry(); if (activeTemplateEntry == null) { // Nothing to build. return; } final Set<Integer> visibleCalendars = activeTemplateEntry.getVisibleCalendarIds(); if (CollectionUtils.isEmpty(visibleCalendars) == true) { // Nothing to build. return; } final TeamEventFilter eventFilter = new TeamEventFilter(); eventFilter.setTeamCals(visibleCalendars); eventFilter.setStartDate(start.toDate()); eventFilter.setEndDate(end.toDate()); eventFilter.setUser(PFUserContext.getUser()); final List<TeamEvent> teamEvents = teamEventDao.getEventList(eventFilter); boolean longFormat = false; days = Days.daysBetween(start, end).getDays(); if (days < 10) { // Week or day view: longFormat = true; } final TeamCalRight right = new TeamCalRight(); final PFUserDO user = PFUserContext.getUser(); final TimeZone timeZone = PFUserContext.getTimeZone(); if (CollectionUtils.isNotEmpty(teamEvents) == true) { for (final TeamEvent teamEvent : teamEvents) { final DateTime startDate = new DateTime(teamEvent.getStartDate(), PFUserContext.getDateTimeZone()); final DateTime endDate = new DateTime(teamEvent.getEndDate(), PFUserContext.getDateTimeZone()); final TeamEventDO eventDO; final TeamCalEventId id = new TeamCalEventId(teamEvent, timeZone); if (teamEvent instanceof TeamEventDO) { eventDO = (TeamEventDO) teamEvent; } else { eventDO = ((TeamRecurrenceEvent) teamEvent).getMaster(); } teamEventMap.put(id.toString(), teamEvent); final MyEvent event = new MyEvent(); event.setClassName( EVENT_CLASS_NAME + " " + EventDroppedCallbackScriptGenerator.NO_CONTEXTMENU_INDICATOR); event.setId("" + id); event.setColor(activeTemplateEntry.getColorCode(eventDO.getCalendarId())); if (eventRight.hasUpdateAccess(PFUserContext.getUser(), eventDO, null)) { event.setEditable(true); } else { event.setEditable(false); } if (teamEvent.isAllDay() == true) { event.setAllDay(true); } event.setStart(startDate); event.setEnd(endDate); event.setTooltip(eventDO.getCalendar().getTitle(), new String[][] { { eventDO.getSubject() }, { eventDO.getLocation(), getString("timesheet.location") }, { eventDO.getNote(), getString("plugins.teamcal.event.note") } }); final String title; String durationString = ""; if (longFormat == true) { // String day = duration.getDays() + ""; final Period period = new Period(startDate, endDate); int hourInt = period.getHours(); if (period.getDays() > 0) { hourInt += period.getDays() * 24; } final String hour = hourInt < 10 ? "0" + hourInt : "" + hourInt; final int minuteInt = period.getMinutes(); final String minute = minuteInt < 10 ? "0" + minuteInt : "" + minuteInt; if (event.isAllDay() == false) { durationString = "\n" + getString("plugins.teamcal.event.duration") + ": " + hour + ":" + minute; } final StringBuffer buf = new StringBuffer(); buf.append(teamEvent.getSubject()); if (StringUtils.isNotBlank(teamEvent.getNote()) == true) { buf.append("\n").append(getString("plugins.teamcal.event.note")).append(": ") .append(teamEvent.getNote()); } buf.append(durationString); title = buf.toString(); } else { title = teamEvent.getSubject(); } if (right.hasMinimalAccess(eventDO.getCalendar(), user.getId()) == true) { // for minimal access event.setTitle(""); event.setEditable(false); } else { event.setTitle(title); } events.put(id + "", event); } } }
From source file:org.projectforge.web.calendar.MyEvent.java
License:Open Source License
public String getDuration() { if (duration != null) { return duration; }//from w w w.j ava 2 s .c o m final Period period = new Period(this.getStart(), this.getEnd()); int days = period.getDays(); if (isAllDay() == true) { ++days; } final int hours = period.getHours(); final int minutes = period.getMinutes(); final StringBuffer buf = new StringBuffer(); if (days > 0) { // days buf.append(days).append(PFUserContext.getLocalizedString("calendar.unit.day")).append(" "); } if (isAllDay() == false) { buf.append(hours).append(":"); // hours if (minutes < 10) { buf.append("0"); } buf.append(minutes); } duration = buf.toString(); return duration; }
From source file:org.projectforge.web.teamcal.event.MyWicketEvent.java
License:Open Source License
public String getDuration() { if (duration != null) { return duration; }/* w ww.ja v a 2 s . c o m*/ final Period period = new Period(this.getStart(), this.getEnd()); int days = period.getDays(); if (isAllDay() == true) { ++days; } final int hours = period.getHours(); final int minutes = period.getMinutes(); final StringBuffer buf = new StringBuffer(); if (days > 0) { // days buf.append(days).append(ThreadLocalUserContext.getLocalizedString("calendar.unit.day")).append(" "); } if (isAllDay() == false) { buf.append(hours).append(":"); // hours if (minutes < 10) { buf.append("0"); } buf.append(minutes); } duration = buf.toString(); return duration; }
From source file:org.projectforge.web.teamcal.event.TeamCalEventProvider.java
License:Open Source License
/** * @see org.projectforge.web.calendar.MyFullCalendarEventsProvider#buildEvents(org.joda.time.DateTime, * org.joda.time.DateTime)/*from ww w . j av a 2 s. c o m*/ */ @Override protected void buildEvents(final DateTime start, final DateTime end) { final TemplateEntry activeTemplateEntry = filter.getActiveTemplateEntry(); if (activeTemplateEntry == null) { // Nothing to build. return; } final Set<Integer> visibleCalendars = activeTemplateEntry.getVisibleCalendarIds(); if (CollectionUtils.isEmpty(visibleCalendars) == true) { // Nothing to build. return; } final TeamEventFilter eventFilter = new TeamEventFilter(); eventFilter.setTeamCals(visibleCalendars); eventFilter.setStartDate(start.toDate()); eventFilter.setEndDate(end.toDate()); eventFilter.setUser(ThreadLocalUserContext.getUser()); final List<TeamEvent> teamEvents = teamEventDao.getEventList(eventFilter, true); boolean longFormat = false; days = Days.daysBetween(start, end).getDays(); if (days < 10) { // Week or day view: longFormat = true; } final TeamCalRight right = new TeamCalRight(accessChecker); final PFUserDO user = ThreadLocalUserContext.getUser(); final TimeZone timeZone = ThreadLocalUserContext.getTimeZone(); if (CollectionUtils.isNotEmpty(teamEvents) == true) { for (final TeamEvent teamEvent : teamEvents) { final DateTime startDate = new DateTime(teamEvent.getStartDate(), ThreadLocalUserContext.getDateTimeZone()); final DateTime endDate = new DateTime(teamEvent.getEndDate(), ThreadLocalUserContext.getDateTimeZone()); final TeamEventDO eventDO; final TeamCalEventId id = new TeamCalEventId(teamEvent, timeZone); if (teamEvent instanceof TeamEventDO) { eventDO = (TeamEventDO) teamEvent; } else { eventDO = ((TeamRecurrenceEvent) teamEvent).getMaster(); } teamEventMap.put(id.toString(), teamEvent); final MyWicketEvent event = new MyWicketEvent(); event.setClassName( EVENT_CLASS_NAME + " " + EventDroppedCallbackScriptGenerator.NO_CONTEXTMENU_INDICATOR); event.setId("" + id); event.setColor(activeTemplateEntry.getColorCode(eventDO.getCalendarId())); if (eventRight.hasUpdateAccess(ThreadLocalUserContext.getUser(), eventDO, null)) { event.setEditable(true); } else { event.setEditable(false); } // id <= 0 is hint for abo events -> not editable if (eventDO.getId() != null && eventDO.getId() <= 0) { event.setEditable(false); } if (teamEvent.isAllDay() == true) { event.setAllDay(true); } event.setStart(startDate); event.setEnd(endDate); String recurrence = null; if (eventDO.hasRecurrence() == true) { final Recur recur = eventDO.getRecurrenceObject(); final TeamEventRecurrenceData recurrenceData = new TeamEventRecurrenceData(recur, ThreadLocalUserContext.getTimeZone()); final RecurrenceFrequency frequency = recurrenceData.getFrequency(); if (frequency != null) { final String unitI18nKey = frequency.getUnitI18nKey(); if (unitI18nKey != null) { recurrence = recurrenceData.getInterval() + " " + getString(unitI18nKey); } } } String reminder = null; if (eventDO.getReminderActionType() != null && NumberHelper.greaterZero(eventDO.getReminderDuration()) == true && eventDO.getReminderDurationUnit() != null) { reminder = getString(eventDO.getReminderActionType().getI18nKey()) + " " + eventDO.getReminderDuration() + " " + getString(eventDO.getReminderDurationUnit().getI18nKey()); } event.setTooltip(eventDO.getCalendar().getTitle(), new String[][] { { eventDO.getSubject() }, { eventDO.getLocation(), getString("timesheet.location") }, { eventDO.getNote(), getString("plugins.teamcal.event.note") }, { recurrence, getString("plugins.teamcal.event.recurrence") }, { reminder, getString("plugins.teamcal.event.reminder") } }); final String title; String durationString = ""; if (longFormat == true) { // String day = duration.getDays() + ""; final Period period = new Period(startDate, endDate); int hourInt = period.getHours(); if (period.getDays() > 0) { hourInt += period.getDays() * 24; } final String hour = hourInt < 10 ? "0" + hourInt : "" + hourInt; final int minuteInt = period.getMinutes(); final String minute = minuteInt < 10 ? "0" + minuteInt : "" + minuteInt; if (event.isAllDay() == false) { durationString = "\n" + ThreadLocalUserContext.getLocalizedString("plugins.teamcal.event.duration") + ": " + hour + ":" + minute; } final StringBuffer buf = new StringBuffer(); buf.append(teamEvent.getSubject()); if (StringUtils.isNotBlank(teamEvent.getNote()) == true) { buf.append("\n") .append(ThreadLocalUserContext.getLocalizedString("plugins.teamcal.event.note")) .append(": ").append(teamEvent.getNote()); } buf.append(durationString); title = buf.toString(); } else { title = teamEvent.getSubject(); } if (right.hasMinimalAccess(eventDO.getCalendar(), user.getId()) == true) { // for minimal access event.setTitle(""); event.setEditable(false); } else { event.setTitle(title); } events.put(id + "", event); } } }
From source file:org.samcrow.ridgesurvey.data.ObservationItemView.java
License:Open Source License
public void setObservation(@Nullable IdentifiedObservation observation) { mObservation = observation;// w w w . ja v a 2 s . c o m if (mObservation != null) { mPrimaryText.setText(String.format(Locale.getDefault(), "Site %d", mObservation.getSiteId())); final Period timeSinceUpload = new Period(mObservation.getTime(), DateTime.now()); mSecondaryText.setText(formatAgo(timeSinceUpload)); if (mObservation.isUploaded()) { mIcon.setVisibility(VISIBLE); } else { mIcon.setVisibility(GONE); } } }
From source file:org.schors.evlampia.commands.BotInfoCmd.java
License:Open Source License
@Override public void execute(CommandContext context) throws Exception { MultiUserChat muc = (MultiUserChat) context.getFacilities().get(Jbot.F_MUC); StringBuilder info = new StringBuilder(); info.append(Jbot.newline).append("OS: ").append(ManagementFactory.getOperatingSystemMXBean().getName()) .append(" ").append(ManagementFactory.getOperatingSystemMXBean().getVersion()).append(" ") .append(ManagementFactory.getOperatingSystemMXBean().getArch()).append(Jbot.newline) .append("Memory: ").append(ManagementFactory.getMemoryMXBean().getHeapMemoryUsage().getUsed()) .append("/").append(ManagementFactory.getMemoryMXBean().getHeapMemoryUsage().getMax()) .append(Jbot.newline).append("CPU: ") .append(ManagementFactory.getOperatingSystemMXBean().getSystemLoadAverage()).append(Jbot.newline) .append("Uptime: ").append(new Period(ConfigurationManager.startTime, new Instant()).toString(pf)); muc.sendMessage(info.toString());/*from w ww .j a v a 2 s. co m*/ }
From source file:org.starnub.utilities.time.DateAndTimes.java
License:Open Source License
/** * Returns a period which represents the distance between two times * * @param dateTime1 DateTime representing the first date and time * @param dateTime2 DateTime representing the second date and time * @return Period representing that distance in time *//*from w w w . ja v a 2 s.co m*/ public Period getPeriod(DateTime dateTime1, DateTime dateTime2) { return new Period(dateTime1, dateTime2); }