List of usage examples for org.joda.time DateTime getHourOfDay
public int getHourOfDay()
From source file:edu.illinois.cs.cogcomp.temporal.normalizer.main.timex2interval.RelativeDate.java
License:Open Source License
/** * This function converts phrase that contains a relative date: more than xxx, etc * @param start anchor time/*www .j a v a 2s .c o m*/ * @param phrase * @return */ public static TimexChunk Relativerule(DateTime start, String phrase) { int numterm; int flag_ago = 0; int i; int year; int month; int day; DateTime finish; String temp1; String temp2; String temp3; int amount; Interval interval; interval = new Interval(start, start); phrase = phrase.toLowerCase(); phrase = phrase.trim(); TimexChunk tc = new TimexChunk(); if (phrase.equals("recently") || phrase.equals("recent") || phrase.equals("past") || phrase.equals("at time") || phrase.equals("previously")) { tc.addAttribute(TimexNames.type, TimexNames.DATE); tc.addAttribute(TimexNames.value, TimexNames.PAST_REF); return tc; } if (phrase.contains("future")) { tc.addAttribute(TimexNames.type, TimexNames.DATE); tc.addAttribute(TimexNames.value, TimexNames.FUTURE_REF); return tc; } // Handle some special cases if (phrase.endsWith("earlier")) { phrase = phrase.replace("earlier", "ago"); phrase = phrase.trim(); } if (phrase.contains("ago")) { phrase = phrase.replaceAll("ago", ""); phrase = "last " + phrase; flag_ago = 1; } if (phrase.contains("later")) { phrase = phrase.replaceAll("later", ""); phrase = "after " + phrase; } if (phrase.contains("after")) { phrase = phrase.replaceAll("after", ""); phrase = "after " + phrase; } if (phrase.contains("more than")) { phrase = phrase.replaceAll("more than", "after"); } if (phrase.contains("less than")) { phrase = phrase.replaceAll("less than", "in"); } if (phrase.contains("last decade")) { phrase = phrase.replaceAll("last decade", "last ten years"); } if (phrase.contains("next decade")) { phrase = phrase.replaceAll("next decade", "next ten years"); } String patternStr = "\\s*(" + positionTerm + "|" + shiftIndicator + ")\\s*((?:\\d{1,4}|" + number + ")\\s*(?:" + number + ")?)\\s*(" + dateUnit + "|" + timeUnit + ")\\s*\\w*"; Pattern pattern = Pattern.compile(patternStr); Matcher matcher = pattern.matcher(phrase); boolean matchFound = matcher.find(); DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM-dd"); DateTimeFormatter ymFmt = DateTimeFormat.forPattern("yyyy-MM"); DateTimeFormatter yFmt = DateTimeFormat.forPattern("yyyy"); if (matchFound) { for (i = 1; i <= 3; i++) { if (matcher.group(i) == null) { i--; break; } } if (i == 4) { i--; } numterm = i; if (numterm == 3) { temp1 = matcher.group(1); temp2 = matcher.group(2); temp3 = matcher.group(3); amount = Integer.parseInt(converter(temp2)); if (temp1.equals("last") || temp1.equals("past") || temp1.equals("previous") || temp1.equals("since") || temp1.equals("this") || temp1.equals("recent")) { if (flag_ago == 0) { if (temp3.equals("years") || temp3.equals("year")) { finish = start.minusYears(amount); year = finish.getYear(); month = finish.getMonthOfYear(); day = finish.getDayOfMonth(); finish = new DateTime(start.getYear(), start.getMonthOfYear(), start.getDayOfMonth(), 0, 0, 0, 0); start = new DateTime(year, month, day, 0, 0, 0, 0); tc.addAttribute(TimexNames.type, TimexNames.DURATION); tc.addAttribute(TimexNames.value, "P" + amount + "Y"); return tc; } else if (temp3.equals("day") || temp3.equals("days")) { finish = start.minusDays(amount); year = finish.getYear(); month = finish.getMonthOfYear(); day = finish.getDayOfMonth(); finish = new DateTime(start.getYear(), start.getMonthOfYear(), start.getDayOfMonth(), 0, 0, 0, 0); start = new DateTime(year, month, day, 0, 0, 0, 0); tc.addAttribute(TimexNames.type, TimexNames.DURATION); tc.addAttribute(TimexNames.value, "P" + amount + "D"); return tc; } else if (temp3.equals("month") || temp3.equals("months")) { finish = start.minusMonths(amount); year = start.getYear(); month = start.getMonthOfYear(); day = start.getDayOfMonth(); start = new DateTime(finish.getYear(), finish.getMonthOfYear(), finish.getDayOfMonth(), 0, 0, 0, 0); finish = new DateTime(year, month, day, 0, 0, 0, 0); tc.addAttribute(TimexNames.type, TimexNames.DURATION); tc.addAttribute(TimexNames.value, "P" + amount + "M"); return tc; } else if (temp3.equals("week") || temp3.equals("weeks")) { finish = start.minusWeeks(amount); year = start.getYear(); month = start.getMonthOfYear(); day = start.getDayOfMonth(); start = new DateTime(finish.getYear(), finish.getMonthOfYear(), finish.getDayOfMonth(), 0, 0, 0, 0); finish = new DateTime(year, month, day, 0, 0, 0, 0); tc.addAttribute(TimexNames.type, TimexNames.DURATION); tc.addAttribute(TimexNames.value, "P" + amount + "W"); return tc; } else if (temp3.equals("decade") || temp3.equals("decades")) { finish = start.minusYears(amount * 10); year = start.getYear(); month = start.getMonthOfYear(); day = start.getDayOfMonth(); start = new DateTime(finish.getYear(), finish.getMonthOfYear(), finish.getDayOfMonth(), 0, 0, 0, 0); finish = new DateTime(year, month, day, 0, 0, 0, 0); tc.addAttribute(TimexNames.type, TimexNames.DURATION); tc.addAttribute(TimexNames.value, "P" + amount + "DE"); return tc; } else if (temp3.equals("century") || temp3.equals("centuries")) { finish = start.minusYears(amount * 100); year = start.getYear(); month = start.getMonthOfYear(); day = start.getDayOfMonth(); start = new DateTime(finish.getYear(), finish.getMonthOfYear(), finish.getDayOfMonth(), 0, 0, 0, 0); finish = new DateTime(year, month, day, 0, 0, 0, 0); tc.addAttribute(TimexNames.type, TimexNames.DURATION); tc.addAttribute(TimexNames.value, "P" + amount + "CE"); return tc; } else if (temp3.equals("hour") || temp3.equals("hours")) { finish = start.minusHours(amount); tc.addAttribute(TimexNames.type, TimexNames.DURATION); tc.addAttribute(TimexNames.value, "PT" + amount + "H"); return tc; } else if (temp3.equals("minute") || temp3.equals("minutes")) { finish = start.minusMinutes(amount); tc.addAttribute(TimexNames.type, TimexNames.DURATION); tc.addAttribute(TimexNames.value, "PT" + amount + "M"); return tc; } else if (temp3.equals("second") || temp3.equals("seconds")) { finish = start.minusSeconds(amount); tc.addAttribute(TimexNames.type, TimexNames.DURATION); tc.addAttribute(TimexNames.value, "PT" + amount + "S"); return tc; } } else { flag_ago = 0; if (temp3.equals("years") || temp3.equals("year")) { finish = start.minusYears(amount); year = finish.getYear(); month = finish.getMonthOfYear(); day = finish.getDayOfMonth(); start = new DateTime(year, 1, 1, 0, 0, 0, 0); finish = new DateTime(year, 12, 31, 23, 59, 59, 59); tc.addAttribute(TimexNames.type, TimexNames.DATE); tc.addAttribute(TimexNames.value, yFmt.print(finish)); return tc; } else if (temp3.equals("day") || temp3.equals("days")) { finish = start.minusDays(amount); year = finish.getYear(); month = finish.getMonthOfYear(); day = finish.getDayOfMonth(); finish = new DateTime(year, month, day, 23, 59, 59, 59); start = new DateTime(year, month, day, 0, 0, 0, 0); tc.addAttribute(TimexNames.type, TimexNames.DATE); tc.addAttribute(TimexNames.value, fmt.print(finish)); return tc; } else if (temp3.equals("month") || temp3.equals("months")) { finish = start.minusMonths(amount); year = finish.getYear(); month = finish.getMonthOfYear(); day = finish.dayOfMonth().getMaximumValue(); start = new DateTime(year, month, 1, 0, 0, 0, 0); finish = new DateTime(year, month, day, 23, 59, 59, 59); tc.addAttribute(TimexNames.type, TimexNames.DATE); tc.addAttribute(TimexNames.value, ymFmt.print(finish)); return tc; } else if (temp3.equals("week") || temp3.equals("weeks")) { finish = start.minusWeeks(amount); start = finish.minusWeeks(amount + 1); year = start.getYear(); month = start.getMonthOfYear(); day = start.getDayOfMonth(); finish = new DateTime(finish.getYear(), finish.getMonthOfYear(), finish.getDayOfMonth(), 23, 59, 59, 59); start = new DateTime(year, month, day, 0, 0, 0, 0); tc.addAttribute(TimexNames.type, TimexNames.DATE); tc.addAttribute(TimexNames.value, yFmt.print(finish) + "-W" + String.valueOf(finish.getWeekOfWeekyear())); return tc; } else if (temp3.equals("decade") || temp3.equals("decades")) { finish = start.minusYears(amount * 10); year = finish.getYear(); month = finish.getMonthOfYear(); day = finish.getDayOfMonth(); start = new DateTime(year, 1, 1, 0, 0, 0, 0); finish = new DateTime(year, 12, 31, 23, 59, 59, 59); tc.addAttribute(TimexNames.type, TimexNames.DATE); tc.addAttribute(TimexNames.value, String.valueOf(finish.getYear() / 10) + "X"); return tc; } else if (temp3.equals("century") || temp3.equals("centuries")) { finish = start.minusYears(amount * 100); year = finish.getYear(); month = start.getMonthOfYear(); day = start.getDayOfMonth(); start = new DateTime(year, 1, 1, 0, 0, 0, 0); finish = new DateTime(year, 12, 31, 23, 59, 59, 59); tc.addAttribute(TimexNames.type, TimexNames.DATE); tc.addAttribute(TimexNames.value, String.valueOf(finish.getCenturyOfEra())); return tc; } else if (temp3.equals("hour") || temp3.equals("hours")) { finish = start.minusHours(amount); start = new DateTime(finish.getYear(), finish.getMonthOfYear(), finish.getDayOfMonth(), finish.getHourOfDay(), 0, 0, 0); finish = new DateTime(finish.getYear(), finish.getMonthOfYear(), finish.getDayOfMonth(), finish.getHourOfDay(), 59, 59, 59); tc.addAttribute(TimexNames.type, TimexNames.DURATION); tc.addAttribute(TimexNames.value, "PT" + amount + "H"); return tc; } else if (temp3.equals("minute") || temp3.equals("minutes")) { finish = start.minusMinutes(amount); start = new DateTime(finish.getYear(), finish.getMonthOfYear(), finish.getDayOfMonth(), finish.getHourOfDay(), finish.minuteOfHour().get(), 0, 0); finish = new DateTime(finish.getYear(), finish.getMonthOfYear(), finish.getDayOfMonth(), finish.getHourOfDay(), finish.minuteOfHour().get(), 59, 59); tc.addAttribute(TimexNames.type, TimexNames.DURATION); tc.addAttribute(TimexNames.value, "PT" + amount + "M"); return tc; } } } else if (temp1.equals("in") || temp1.equals("upcoming") || temp1.equals("next") || temp1.equals("from") || temp1.equals("following") || temp1.equals("during") || temp1.equals("additional")) { if (temp3.equals("years") || temp3.equals("year")) { finish = start.minusYears((-1) * amount); year = finish.getYear(); month = finish.getMonthOfYear(); day = finish.getDayOfMonth(); finish = new DateTime(start.getYear(), start.getMonthOfYear(), start.getDayOfMonth(), 23, 59, 59, 59); start = new DateTime(year, month, day, 23, 59, 59, 59); interval = new Interval(finish, start); tc.addAttribute(TimexNames.type, TimexNames.DURATION); tc.addAttribute(TimexNames.value, "P" + amount + "Y"); return tc; } else if (temp3.equals("day") || temp3.equals("days")) { finish = start.minusDays((-1) * amount); year = finish.getYear(); month = finish.getMonthOfYear(); day = finish.getDayOfMonth(); finish = new DateTime(start.getYear(), start.getMonthOfYear(), start.getDayOfMonth(), 23, 59, 59, 59); start = new DateTime(year, month, day, 23, 59, 59, 59); tc.addAttribute(TimexNames.type, TimexNames.DURATION); tc.addAttribute(TimexNames.value, "P" + amount + "D"); return tc; } else if (temp3.equals("month") || temp3.equals("months")) { finish = start.minusMonths((-1) * amount); year = start.getYear(); month = start.getMonthOfYear(); day = start.getDayOfMonth(); start = new DateTime(finish.getYear(), finish.getMonthOfYear(), finish.getDayOfMonth(), 23, 59, 59, 59); finish = new DateTime(year, month, day, 23, 59, 59, 59); tc.addAttribute(TimexNames.type, TimexNames.DURATION); tc.addAttribute(TimexNames.value, "P" + amount + "M"); return tc; } else if (temp3.equals("week") || temp3.equals("weeks")) { finish = start.minusWeeks((-1) * amount); year = start.getYear(); month = start.getMonthOfYear(); day = start.getDayOfMonth(); start = new DateTime(finish.getYear(), finish.getMonthOfYear(), finish.getDayOfMonth(), 23, 59, 59, 59); finish = new DateTime(year, month, day, 23, 59, 59, 59); tc.addAttribute(TimexNames.type, TimexNames.DURATION); tc.addAttribute(TimexNames.value, "P" + amount + "W"); return tc; } else if (temp3.equals("decade") || temp3.equals("decades")) { finish = start.minusYears((-1) * amount * 10); year = start.getYear(); month = start.getMonthOfYear(); day = start.getDayOfMonth(); start = new DateTime(finish.getYear(), finish.getMonthOfYear(), finish.getDayOfMonth(), 23, 59, 59, 59); finish = new DateTime(year, month, day, 23, 59, 59, 59); tc.addAttribute(TimexNames.type, TimexNames.DURATION); amount = amount * 10; tc.addAttribute(TimexNames.value, "P" + amount + "Y"); return tc; } else if (temp3.equals("century") || temp3.equals("centuries")) { finish = start.minusYears((-1) * amount * 100); year = start.getYear(); month = start.getMonthOfYear(); day = start.getDayOfMonth(); start = new DateTime(finish.getYear(), finish.getMonthOfYear(), finish.getDayOfMonth(), 23, 59, 59, 59); finish = new DateTime(year, month, day, 23, 59, 59, 59); tc.addAttribute(TimexNames.type, TimexNames.DURATION); amount *= 100; tc.addAttribute(TimexNames.value, "P" + amount + "Y"); return tc; } else if (temp3.equals("hour") || temp3.equals("hours")) { finish = start.minusHours((-1) * amount); tc.addAttribute(TimexNames.type, TimexNames.DURATION); tc.addAttribute(TimexNames.value, "PT" + amount + "H"); return tc; } else if (temp3.equals("minute") || temp3.equals("minutes")) { finish = start.minusMinutes((-1) * amount); tc.addAttribute(TimexNames.type, TimexNames.DURATION); tc.addAttribute(TimexNames.value, "PT" + amount + "M"); return tc; } else if (temp3.equals("second") || temp3.equals("seconds")) { finish = start.minusSeconds((-1) * amount); tc.addAttribute(TimexNames.type, TimexNames.DURATION); tc.addAttribute(TimexNames.value, "PT" + amount + "S"); return tc; } } else if (temp1.equals("before") || temp1.equals("prior to") || temp1.equals("preceding")) { if (temp3.equals("years") || temp3.equals("year")) { finish = start.minusYears(amount); finish = finish.minusDays(1); year = finish.getYear(); month = finish.getMonthOfYear(); day = finish.getDayOfMonth(); start = new DateTime(0000, 1, 1, 0, 0, 0, 0); finish = new DateTime(year, month, day, 23, 59, 59, 59); tc.addAttribute(TimexNames.type, TimexNames.DURATION); tc.addAttribute(TimexNames.value, "P" + amount + "Y"); return tc; } else if (temp3.equals("day") || temp3.equals("days")) { finish = start.minusDays(amount); finish = finish.minusDays(1); year = finish.getYear(); month = finish.getMonthOfYear(); day = finish.getDayOfMonth(); start = new DateTime(0000, 1, 1, 0, 0, 0, 0); finish = new DateTime(year, month, day, 23, 59, 59, 59); tc.addAttribute(TimexNames.type, TimexNames.DURATION); tc.addAttribute(TimexNames.value, "P" + amount + "D"); return tc; } else if (temp3.equals("month") || temp3.equals("months")) { finish = start.minusMonths(amount); finish = finish.minusDays(1); year = finish.getYear(); month = finish.getMonthOfYear(); day = finish.getDayOfMonth(); start = new DateTime(0000, 1, 1, 0, 0, 0, 0); finish = new DateTime(year, month, day, 23, 59, 59, 59); tc.addAttribute(TimexNames.type, TimexNames.DURATION); tc.addAttribute(TimexNames.value, "P" + amount + "M"); return tc; } else if (temp3.equals("week") || temp3.equals("weeks")) { finish = start.minusWeeks(amount); finish = finish.minusDays(1); year = finish.getYear(); month = finish.getMonthOfYear(); day = finish.getDayOfMonth(); start = new DateTime(0000, 1, 1, 0, 0, 0, 0); finish = new DateTime(year, month, day, 23, 59, 59, 59); tc.addAttribute(TimexNames.type, TimexNames.DURATION); tc.addAttribute(TimexNames.value, "P" + amount + "W"); return tc; } else if (temp3.equals("decade") || temp3.equals("decades")) { finish = start.minusYears(amount * 10); finish = finish.minusDays(1); year = finish.getYear(); month = finish.getMonthOfYear(); day = finish.getDayOfMonth(); start = new DateTime(0000, 1, 1, 0, 0, 0, 0); finish = new DateTime(year, month, day, 23, 59, 59, 59); amount *= 10; tc.addAttribute(TimexNames.type, TimexNames.DURATION); tc.addAttribute(TimexNames.value, "P" + amount + "Y"); return tc; } else if (temp3.equals("century") || temp3.equals("centuries")) { finish = start.minusYears(amount * 100); finish = finish.minusDays(1); year = finish.getYear(); month = finish.getMonthOfYear(); day = finish.getDayOfMonth(); start = new DateTime(0000, 1, 1, 0, 0, 0, 0); finish = new DateTime(year, month, day, 23, 59, 59, 59); amount *= 100; tc.addAttribute(TimexNames.type, TimexNames.DURATION); tc.addAttribute(TimexNames.value, "P" + amount + "Y"); return tc; } else if (temp3.equals("hour") || temp3.equals("hours")) { finish = start.minusHours(amount); start = new DateTime(0000, 1, 1, 0, 0, 0, 0); //interval = new Interval(start, finish); tc.addAttribute(TimexNames.type, TimexNames.DURATION); tc.addAttribute(TimexNames.value, "PT" + amount + "H"); return tc; } else if (temp3.equals("minute") || temp3.equals("minutes")) { finish = start.minusMinutes(amount); start = new DateTime(0000, 1, 1, 0, 0, 0, 0); tc.addAttribute(TimexNames.type, TimexNames.DURATION); tc.addAttribute(TimexNames.value, "PT" + amount + "M"); return tc; } else if (temp3.equals("second") || temp3.equals("seconds")) { finish = start.minusSeconds(amount); start = new DateTime(0000, 1, 1, 0, 0, 0, 0); tc.addAttribute(TimexNames.type, TimexNames.DURATION); tc.addAttribute(TimexNames.value, "PT" + amount + "S"); return tc; } } else if (temp1.equals("after") || temp1.equals("over")) { if (temp3.equals("years") || temp3.equals("year")) { finish = start.minusYears((-1) * amount); finish = finish.minusDays(-1); year = finish.getYear(); month = finish.getMonthOfYear(); day = finish.getDayOfMonth(); finish = new DateTime(year, month, day, 0, 0, 0, 0); start = new DateTime(9999, 12, 31, 23, 59, 59, 59); tc.addAttribute(TimexNames.type, TimexNames.DURATION); tc.addAttribute(TimexNames.value, "P" + amount + "Y"); return tc; } else if (temp3.equals("day") || temp3.equals("days")) { finish = start.minusDays((-1) * amount); finish = finish.minusDays(-1); year = finish.getYear(); month = finish.getMonthOfYear(); day = finish.getDayOfMonth(); finish = new DateTime(year, month, day, 0, 0, 0, 0); start = new DateTime(9999, 12, 31, 23, 59, 59, 59); tc.addAttribute(TimexNames.type, TimexNames.DURATION); tc.addAttribute(TimexNames.value, "P" + amount + "D"); return tc; } else if (temp3.equals("month") || temp3.equals("months")) { finish = start.minusMonths((-1) * amount); finish = finish.minusDays(-1); year = finish.getYear(); month = finish.getMonthOfYear(); day = finish.getDayOfMonth(); finish = new DateTime(year, month, day, 0, 0, 0, 0); start = new DateTime(9999, 12, 31, 23, 59, 59, 59); tc.addAttribute(TimexNames.type, TimexNames.DURATION); tc.addAttribute(TimexNames.value, "P" + amount + "M"); return tc; } else if (temp3.equals("week") || temp3.equals("weeks")) { finish = start.minusWeeks((-1) * amount); finish = finish.minusDays(-1); year = finish.getYear(); month = finish.getMonthOfYear(); day = finish.getDayOfMonth(); finish = new DateTime(year, month, day, 0, 0, 0, 0); start = new DateTime(9999, 12, 31, 23, 59, 59, 59); tc.addAttribute(TimexNames.type, TimexNames.DURATION); tc.addAttribute(TimexNames.value, "P" + amount + "W"); return tc; } else if (temp3.equals("decade") || temp3.equals("decades")) { finish = start.minusYears((-1) * amount * 10); finish = finish.minusDays(-1); year = finish.getYear(); month = finish.getMonthOfYear(); day = finish.getDayOfMonth(); finish = new DateTime(year, month, day, 0, 0, 0, 0); start = new DateTime(9999, 12, 31, 23, 59, 59, 59); amount *= 10; tc.addAttribute(TimexNames.type, TimexNames.DURATION); tc.addAttribute(TimexNames.value, "P" + amount + "Y"); return tc; } else if (temp3.equals("century") || temp3.equals("centuries")) { finish = start.minusYears((-1) * amount * 100); finish = finish.minusDays(-1); year = finish.getYear(); month = finish.getMonthOfYear(); day = finish.getDayOfMonth(); finish = new DateTime(year, month, day, 0, 0, 0, 0); start = new DateTime(9999, 12, 31, 23, 59, 59, 59); interval = new Interval(finish, start); amount *= 100; tc.addAttribute(TimexNames.type, TimexNames.DURATION); tc.addAttribute(TimexNames.value, "P" + amount + "Y"); return tc; } else if (temp3.equals("hour") || temp3.equals("hours")) { finish = start.minusHours((-1) * amount); start = new DateTime(9999, 12, 31, 23, 59, 59, 59); interval = new Interval(finish, start); tc.addAttribute(TimexNames.type, TimexNames.DURATION); tc.addAttribute(TimexNames.value, "PT" + amount + "H"); return tc; } else if (temp3.equals("minute") || temp3.equals("minutes")) { finish = start.minusMinutes((-1) * amount); start = new DateTime(9999, 12, 31, 23, 59, 59, 59); interval = new Interval(finish, start); tc.addAttribute(TimexNames.type, TimexNames.DURATION); tc.addAttribute(TimexNames.value, "PT" + amount + "M"); return tc; } else if (temp3.equals("second") || temp3.equals("seconds")) { finish = start.minusSeconds((-1) * amount); start = new DateTime(9999, 12, 31, 23, 59, 59, 59); interval = new Interval(finish, start); tc.addAttribute(TimexNames.type, TimexNames.DURATION); tc.addAttribute(TimexNames.value, "PT" + amount + "S"); return tc; } } } } return null; }
From source file:edu.utexas.cs.tactex.servercustomers.factoredcustomer.DefaultCapacityOriginator.java
License:Open Source License
private double adjustCapacityForPeriodicSkew(double capacity, DateTime when, boolean verbose) { int day = when.getDayOfWeek(); // 1=Monday, 7=Sunday int hour = when.getHourOfDay(); // 0-23 double periodicSkew = capacityStructure.dailySkew[day - 1] * capacityStructure.hourlySkew[hour]; if (verbose)/*ww w.ja v a 2 s .com*/ logCapacityDetails(logIdentifier + ": periodic skew = " + periodicSkew); return capacity * periodicSkew; }
From source file:edu.utexas.cs.tactex.servercustomers.factoredcustomer.TimeseriesGenerator.java
License:Open Source License
private double generateNextArima101x101(int timeslot) { /** R code/*from w ww . j a v a 2 s . c om*/ boostTimeSeries = function(Xt, lambda, t, N, Xht, Xdt, gamma) { return (Xt + (lambda * ((log(t-26))^2/(log(N-26))^2) * ((1 - gamma) * Xht + gamma * Xdt))) } for (t in compRange) { Zf[t] = Y0 + Yd[D[t]] + Yh[H[t]] + phi1 * Zf[t-1] + Phi1 * Zf[t-24] #+ rnorm(1, 0, sigma^2) + theta1 * (Zf[t-1] - Zf[t-2]) + Theta1 * (Zf[t-24] - Zf[t-25]) + theta1 * Theta1 * (Zf[t-25] - Zf[t-26]) Zbf[t] = boostTimeSeries(Zf[t], lambda, t, N, Yh[H[t]], Yd[D[t]], gamma) #+ rnorm(1, 0, sigma^2) } **/ DateTime now = service.getTimeslotRepo().getTimeForIndex(timeslot).toDateTime(DateTimeZone.UTC); int day = now.getDayOfWeek(); // 1=Monday, 7=Sunday int hour = now.getHourOfDay(); // 0-23 int t = timeslot; double logNext = Y0 + Yd[day - 1] + Yh[hour] + phi1 * getLog(t - 1) + Phi1 * getLog(t - 24) + theta1 * (getLog(t - 1) - getLog(t - 2)) + Theta1 * (getLog(t - 24) - getLog(t - 25)) + theta1 * Theta1 * (getLog(t - 25) - getLog(t - 26)); logNext = logNext + (lambda * (Math.pow(Math.log(t - 26), 2) / Math.pow(Math.log(FORECAST_HORIZON - 26), 2)) * ((1 - gamma) * Yh[hour] + gamma * Yd[day - 1])); //logNext = logNext + Math.pow(sigma, 2) * arimaNoise.nextGaussian(); double next = Math.exp(logNext); if (Double.isNaN(next)) throw new Error("Generated NaN as next time series element!"); return next; }
From source file:edu.washington.cs.mystatus.odk.widgets.TimeWidget.java
License:Apache License
public TimeWidget(Context context, final FormEntryPrompt prompt) { super(context, prompt); mTimePicker = new TimePicker(getContext()); mTimePicker.setId(QuestionWidget.newUniqueId()); mTimePicker.setFocusable(!prompt.isReadOnly()); mTimePicker.setEnabled(!prompt.isReadOnly()); String clockType = android.provider.Settings.System.getString(context.getContentResolver(), android.provider.Settings.System.TIME_12_24); if (clockType == null || clockType.equalsIgnoreCase("24")) { mTimePicker.setIs24HourView(true); }// w w w. jav a 2 s. c om // If there's an answer, use it. if (prompt.getAnswerValue() != null) { // create a new date time from date object using default time zone DateTime ldt = new DateTime(((Date) ((TimeData) prompt.getAnswerValue()).getValue()).getTime()); System.out.println("retrieving:" + ldt); mTimePicker.setCurrentHour(ldt.getHourOfDay()); mTimePicker.setCurrentMinute(ldt.getMinuteOfHour()); } else { // create time widget with current time as of right now clearAnswer(); } mTimePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() { @Override public void onTimeChanged(TimePicker view, int hourOfDay, int minute) { MyStatus.getInstance().getActivityLogger().logInstanceAction(TimeWidget.this, "onTimeChanged", String.format("%1$02d:%2$02d", hourOfDay, minute), mPrompt.getIndex()); } }); setGravity(Gravity.LEFT); addView(mTimePicker); }
From source file:es.pode.adl.datamodels.datatypes.DateTimeValidator.java
License:Open Source License
/** * Compares two valid data model elements for equality. * /* w w w . j av a 2 s. co m*/ * @param iFirst The first value being compared. * * @param iSecond The second value being compared. * * @param iDelimiters The common set of delimiters associated with the * values being compared. * * @return Returns <code>true</code> if the two values are equal, otherwise * <code>false</code>. */ public boolean compare(String iFirst, String iSecond, Vector iDelimiters) { boolean equal = true; DateTimeFormatter dtp = ISODateTimeFormat.dateTimeParser(); try { // Parse the first string and remove the sub-seconds DateTime dt1 = dtp.parseDateTime(iFirst); dt1 = new DateTime(dt1.getYear(), dt1.getMonthOfYear(), dt1.getDayOfMonth(), dt1.getHourOfDay(), dt1.getMinuteOfHour(), dt1.getSecondOfMinute(), 0); // Parse the second string and remove the sub-seconds DateTime dt2 = dtp.parseDateTime(iSecond); dt2 = new DateTime(dt2.getYear(), dt2.getMonthOfYear(), dt2.getDayOfMonth(), dt2.getHourOfDay(), dt2.getMinuteOfHour(), dt2.getSecondOfMinute(), 0); equal = dt1.equals(dt2); } catch (Exception e) { // String format error -- these cannot be equal equal = false; } return equal; }
From source file:es.ucm.fdi.tutorias.business.boundary.Emails.java
License:Open Source License
private boolean crearArchivoCal(String nombreCalendario, Tutoria tutoria) { String hostEmail = username;//from ww w . j a v a2 s . c o m //Initialize values String calFile = nombreCalendario; ; //start time DateTime comienzo = tutoria.getComienzoTutoria(); java.util.Calendar startCal = java.util.Calendar.getInstance(); startCal.set(comienzo.getYear(), comienzo.getMonthOfYear(), comienzo.getDayOfMonth(), comienzo.getHourOfDay(), comienzo.getMinuteOfHour()); //end time java.util.Calendar endCal = java.util.Calendar.getInstance(); DateTime fin = tutoria.getFinTutoria(); endCal.set(fin.getYear(), fin.getMonthOfYear(), fin.getDayOfMonth(), fin.getHourOfDay(), fin.getMinuteOfHour()); String subject = "Tutora"; String location = "Location - \"Facultad de Informtica-UCM\""; String description = tutoria.getResumenDudas(); net.fortuna.ical4j.model.Calendar calendar = new net.fortuna.ical4j.model.Calendar(); calendar.getProperties().add(new ProdId("-//ProyectoSI-FdiUcm//iCal4j 1.0//EN")); calendar.getProperties().add(Version.VERSION_2_0); calendar.getProperties().add(CalScale.GREGORIAN); SimpleDateFormat sdFormat = new SimpleDateFormat("yyyyMMdd'T'hhmmss'Z'"); String strDate = sdFormat.format(startCal.getTime()); net.fortuna.ical4j.model.Date startDt = null; try { startDt = new net.fortuna.ical4j.model.Date(strDate, "yyyyMMdd'T'hhmmss'Z'"); } catch (ParseException e) { e.printStackTrace(); return false; } long diff = endCal.getTimeInMillis() - startCal.getTimeInMillis(); int min = (int) (diff / (1000 * 60)); Dur dur = new Dur(0, 0, min, 0); //Creating a meeting event VEvent meeting = new VEvent(startDt, dur, subject); meeting.getProperties().add(new Location(location)); meeting.getProperties().add(new Description()); try { meeting.getProperties().getProperty(Property.DESCRIPTION).setValue(description); } catch (IOException e) { e.printStackTrace(); return false; } catch (URISyntaxException e) { e.printStackTrace(); return false; } catch (ParseException e) { e.printStackTrace(); return false; } try { meeting.getProperties().add(new Organizer("MAILTO:" + hostEmail)); } catch (URISyntaxException e) { e.printStackTrace(); return false; } calendar.getComponents().add(meeting); FileOutputStream fout = null; try { fout = new FileOutputStream(calFile); } catch (FileNotFoundException e) { e.printStackTrace(); return false; } CalendarOutputter outputter = new CalendarOutputter(); outputter.setValidating(false); try { outputter.output(calendar, fout); return true; } catch (IOException e) { e.printStackTrace(); return false; } catch (ValidationException e) { e.printStackTrace(); return false; } }
From source file:es.usc.citius.servando.calendula.fragments.RoutineCreateOrEditFragment.java
License:Open Source License
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_create_or_edit_routine, container, false); pColor = DB.patients().getActive(getActivity()).color(); mNameTextView = (TextView) rootView.findViewById(R.id.routine_edit_name); timeButton = (Button) rootView.findViewById(R.id.button2); timeButton.setTextColor(pColor);/*from ww w . j av a2 s . c om*/ long routineId = -1; if (getArguments() != null) { routineId = getArguments().getLong(CalendulaApp.INTENT_EXTRA_ROUTINE_ID, -1); } if (routineId == -1 && savedInstanceState != null) { routineId = savedInstanceState.getLong(CalendulaApp.INTENT_EXTRA_ROUTINE_ID, -1); } if (routineId != -1) { mRoutine = Routine.findById(routineId); setRoutine(mRoutine); hour = mRoutine.time().getHourOfDay(); minute = mRoutine.time().getMinuteOfHour(); } else { DateTime now = DateTime.now(); hour = now.getHourOfDay(); minute = now.getMinuteOfHour(); } if (getDialog() != null) { getDialog().setTitle(R.string.title_create_routine_activity); mConfirmButton = (Button) rootView.findViewById(R.id.done_button); mConfirmButton.setVisibility(View.VISIBLE); mConfirmButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { onEdit(); } }); } timeButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { float density = getResources().getDisplayMetrics().densityDpi; Log.d("RoutineCreateOrEditFragment", "Density: " + density); if (density >= DisplayMetrics.DENSITY_XHIGH) { RadialTimePickerDialog timePickerDialog = RadialTimePickerDialog .newInstance(RoutineCreateOrEditFragment.this, hour, minute, true); timePickerDialog.show(getChildFragmentManager(), "111"); } else { TimePickerBuilder tpb = new TimePickerBuilder().setFragmentManager(getChildFragmentManager()) .setStyleResId(R.style.BetterPickersDialogFragment_Light); tpb.addTimePickerDialogHandler(RoutineCreateOrEditFragment.this); tpb.show(); } } }); updateTime(); return rootView; }
From source file:es.usc.citius.servando.calendula.fragments.ScheduleImportFragment.java
License:Open Source License
private void setupHourlyRepetitionLinsteners() { hourlyIntervalEditText.setOnClickListener(new View.OnClickListener() { @Override/*from w w w.j a va 2 s. c o m*/ public void onClick(View v) { showHourlyPickerDIalog(); } }); hourlyIntervalFrom.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { DateTime time = schedule.startTime().toDateTimeToday(); RadialTimePickerDialog timePickerDialog = RadialTimePickerDialog.newInstance( ScheduleImportFragment.this, time.getHourOfDay(), time.getMinuteOfHour(), true); timePickerDialog.show(getChildFragmentManager(), "111"); } }); hourlyIntervalRepeatDose.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { showHourlyDosePickerDialog(); } }); }
From source file:es.usc.citius.servando.calendula.fragments.ScheduleTimetableFragment.java
License:Open Source License
void setupHourlyRepetitionLinsteners() { hourlyIntervalEditText.setOnClickListener(new View.OnClickListener() { @Override/* w w w. ja v a2 s . c om*/ public void onClick(View v) { showHourlyPickerDIalog(); } }); hourlyIntervalFrom.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { DateTime time = schedule.startTime().toDateTimeToday(); RadialTimePickerDialog timePickerDialog = RadialTimePickerDialog.newInstance( ScheduleTimetableFragment.this, time.getHourOfDay(), time.getMinuteOfHour(), true); timePickerDialog.show(getChildFragmentManager(), "111"); } }); hourlyIntervalRepeatDose.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { showHourlyDosePickerDialog(); } }); }
From source file:etc.HelperUtils.java
License:Apache License
/** * Takes the Timestamp in milis and parses it to the form "yyyy-MM-dd HH:mm" or to "unlimited", if zero * //from w w w . j a v a2 s. co m * @param ts_Active * the timestamp * @return the parsed timestamp */ public static String parseStringTs(long ts_Active) { if (ts_Active == 0) return "unlimited"; DateTime dt = new DateTime(ts_Active); StringBuilder timeString = new StringBuilder(); // add a leading "0" if the value is under ten timeString.append(dt.getYear()).append("-"); timeString.append(addZero(dt.getMonthOfYear())); timeString.append("-"); timeString.append(addZero(dt.getDayOfMonth())); timeString.append(" "); timeString.append(addZero(dt.getHourOfDay())); timeString.append(":"); timeString.append(addZero(dt.getMinuteOfHour())); return timeString.toString(); }