private static Hours hoursBetween(ReadableInstant start, ReadableInstant end) { return Hours.hoursBetween(start, end); }
private static Hours hoursBetween(ReadableInstant start, ReadableInstant end) { return Hours.hoursBetween(start, end); }
private static Hours hoursBetween(ReadableInstant start, ReadableInstant end) { return Hours.hoursBetween(start, end); }
/** * isSameHours 判断两个日期是否在同一小时 * @param dateTime1 日期1 * @param dateTime2 日期2 * @return */ public static boolean isSameHours(DateTime dateTime1, DateTime dateTime2) { boolean res = false; int intervalHours = Hours.hoursBetween(dateTime1, dateTime2).getHours(); if (intervalHours == 0) { res = true; } return res; }
public boolean user_validateForgotPasswordKey(String hash) { try { PasswordResetRequest passwordResetRequest = passwordResetRequestDAO.findByHash(hash); if (passwordResetRequest == null) {log.info("empty return" + hash);} if (passwordResetRequest != null && passwordResetRequest.getResetDate() == null) { int hours = Hours.hoursBetween(new DateTime(passwordResetRequest.getRequestDate()), new DateTime(new Date())).getHours(); if (hours <= TIME_INTERVAL_TO_CHANGE_PASSWORD_IN_HOURS ) { return true; } } return false; } catch (Exception e) { log.error(e.getMessage(),e); throw (new RuntimeException(e)); } }
public static void test1(DateTime dt1, DateTime dt2) { // 毫秒ms long diff = dt2.getMillis() - dt1.getMillis(); long diffSeconds = diff / 1000 % 60; long diffMinutes = diff / (60 * 1000) % 60; long diffHours = diff / (60 * 60 * 1000) % 24; long diffDays = diff / (24 * 60 * 60 * 1000); System.out.print("时间相差:"); System.out.print(diffDays + " 天 "); System.out.print(diffHours + " 小时 "); System.out.print(diffMinutes + " 分钟 "); System.out.print(diffSeconds + " 秒."); System.out.println(); System.out.print(Days.daysBetween(dt1, dt2).getDays() + " 天 "); System.out.print(Hours.hoursBetween(dt1, dt2).getHours() + " 小时 "); System.out.print(Minutes.minutesBetween(dt1, dt2).getMinutes() + " 分钟 "); System.out.print(Seconds.secondsBetween(dt1, dt2).getSeconds() + " 秒."); System.out.println(); }
public static int getHoursBetween(final String date1, final String date2, String format){ try { final DateTimeFormatter fmt = DateTimeFormat .forPattern(format) .withChronology( LenientChronology.getInstance( GregorianChronology.getInstance())); return Hours.hoursBetween( fmt.parseDateTime(date1), fmt.parseDateTime(date2) ).getHours(); } catch (Exception ex) { ex.printStackTrace(); return 0; } } public static int getYearsBetween(final String date1, final String date2, String format){
private void formatHours(DateTime now, DateTime then, StringBuilder text) { int hoursBetween = Hours.hoursBetween(now.toLocalTime(), then.toLocalTime()).getHours(); if (hoursBetween == 0) { if (hasFormat(MINUTES)) { formatMinutes(now, then, text); } else { text.append(context.getString(R.string.now)); } } else if (hoursBetween > 0) { // in N hours text.append(context.getResources().getQuantityString(R.plurals.carbon_inHours, hoursBetween, hoursBetween)); } else { // N hours ago text.append(context.getResources().getQuantityString(R.plurals.carbon_hoursAgo, -hoursBetween, -hoursBetween)); } }
private List<ClassifierInstance> sortAndReweightTrainingData(Iterable<ClassifierInstance> trainingData, DateTime mostRecentInstance) { ArrayList<ClassifierInstance> sortedData = Lists.newArrayList(); for (ClassifierInstance inst : trainingData) { sortedData.add(inst); } Collections.sort(sortedData, new Comparator<ClassifierInstance>() { @Override public int compare(ClassifierInstance o1, ClassifierInstance o2) { DateTime d1 = dateTimeExtractor.extractDateTime(o1); DateTime d2 = dateTimeExtractor.extractDateTime(o2); return -d1.compareTo(d2); //later times shoudl be sorted ahead of earlier times } }); ArrayList<ClassifierInstance> trainingDataList = Lists.newArrayList(); for (ClassifierInstance instance : sortedData) { double decayConstant = (instance.getLabel().equals(positiveClassification)) ? decayConstantOfPositive : decayConstantOfNegative; double hoursBack = Hours.hoursBetween(mostRecentInstance, dateTimeExtractor.extractDateTime(instance)).getHours(); double newWeight = Math.exp(-1.0 * hoursBack / decayConstant); //TODO[mk] Reweight needs to be moved / removed trainingDataList.add(new ClassifierInstance(instance.getAttributes(), instance.getLabel(), newWeight)); } return trainingDataList; }
public List<AlertsCollectionType> getCollectionType(DateTime dateTime) { if (!dateTime.isAfter(lastGet)){ throw new IllegalArgumentException("collection is not after previous " + lastGet + ", " + dateTime); } lastGet = dateTime; if (dateTime.getHourOfDay() >= TIME_WINDOW_TO_REPORT_DAY_MIN && dateTime.getHourOfDay() <= TIME_WINDOW_TO_REPORT_DAY_MAX && Hours.hoursBetween(lastDailyCollection, dateTime).getHours() > reportingWindowDay()){ log.info("daily mail collection"); lastDailyCollection = dateTime; lastHourlyCollection = dateTime; return Lists.newArrayList(AlertsCollectionType.Immediately, AlertsCollectionType.Hourly, AlertsCollectionType.Daily); } if (dateTime.getMinuteOfHour() <= TIME_WINDOW_TO_REPORT_HOUR && Minutes.minutesBetween(lastHourlyCollection, dateTime).getMinutes() > TIME_WINDOW_TO_REPORT_HOUR){ log.info("hourly mail collection"); lastHourlyCollection = dateTime; return Lists.newArrayList(AlertsCollectionType.Immediately, AlertsCollectionType.Hourly); } return Lists.newArrayList(AlertsCollectionType.Immediately); }
Hours hrs = Hours.hoursBetween(startTemp, endTemp); if (hrs.getHours() >= 24) errors.add("One leaveblock cannot exceed 24 hours");
private static String dateToAge(String createdAt, DateTime now) { if (createdAt == null) { return ""; } DateTimeFormatter dtf = DateTimeFormat.forPattern(DATE_TIME_FORMAT); try { DateTime created = dtf.parseDateTime(createdAt); if (Seconds.secondsBetween(created, now).getSeconds() < 60) { return Seconds.secondsBetween(created, now).getSeconds() + "s"; } else if (Minutes.minutesBetween(created, now).getMinutes() < 60) { return Minutes.minutesBetween(created, now).getMinutes() + "m"; } else if (Hours.hoursBetween(created, now).getHours() < 24) { return Hours.hoursBetween(created, now).getHours() + "h"; } else { return Days.daysBetween(created, now).getDays() + "d"; } } catch (IllegalArgumentException e) { return ""; } } }
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()); }
DateTime endTime = new DateTime(); Hours hour = Hours.hoursBetween(startTime, endTime); if (hour != null) { int elapsedHours = hour.getHours();
@Test public void testDateDiffTime() { DateTime baseDateTime = new DateTime(1970, 1, 1, 7, 2, 9, 678, DATE_TIME_ZONE); String baseDateTimeLiteral = "TIME '07:02:09.678'"; assertFunction("date_diff('millisecond', " + baseDateTimeLiteral + ", " + TIME_LITERAL + ")", BIGINT, millisBetween(baseDateTime, TIME)); assertFunction("date_diff('second', " + baseDateTimeLiteral + ", " + TIME_LITERAL + ")", BIGINT, secondsBetween(baseDateTime, TIME).getSeconds()); assertFunction("date_diff('minute', " + baseDateTimeLiteral + ", " + TIME_LITERAL + ")", BIGINT, minutesBetween(baseDateTime, TIME).getMinutes()); assertFunction("date_diff('hour', " + baseDateTimeLiteral + ", " + TIME_LITERAL + ")", BIGINT, hoursBetween(baseDateTime, TIME).getHours()); DateTime weirdBaseDateTime = new DateTime(1970, 1, 1, 7, 2, 9, 678, WEIRD_ZONE); String weirdBaseDateTimeLiteral = "TIME '07:02:09.678 +07:09'"; assertFunction("date_diff('millisecond', " + weirdBaseDateTimeLiteral + ", " + WEIRD_TIME_LITERAL + ")", BIGINT, millisBetween(weirdBaseDateTime, WEIRD_TIME)); assertFunction("date_diff('second', " + weirdBaseDateTimeLiteral + ", " + WEIRD_TIME_LITERAL + ")", BIGINT, secondsBetween(weirdBaseDateTime, WEIRD_TIME).getSeconds()); assertFunction("date_diff('minute', " + weirdBaseDateTimeLiteral + ", " + WEIRD_TIME_LITERAL + ")", BIGINT, minutesBetween(weirdBaseDateTime, WEIRD_TIME).getMinutes()); assertFunction("date_diff('hour', " + weirdBaseDateTimeLiteral + ", " + WEIRD_TIME_LITERAL + ")", BIGINT, hoursBetween(weirdBaseDateTime, WEIRD_TIME).getHours()); }
case 2: ret = Days.daysBetween(leftDateTime.toInstant(), rightDateTime.toInstant()).getDays(); break; case 3: ret = Hours.hoursBetween(leftDateTime.toInstant(), rightDateTime.toInstant()).getHours(); break; case 4: ret = Minutes.minutesBetween(leftDateTime.toInstant(), rightDateTime.toInstant()).getMinutes();
public static Integer between(org.joda.time.DateTime leftDateTime, org.joda.time.DateTime rightDateTime, int idx) { Integer ret = 0; Instant leftInstant = leftDateTime.toInstant(); Instant rightInstant = rightDateTime.toInstant(); switch(idx) { case 0: ret = Years.yearsBetween(leftDateTime.toInstant(), rightDateTime.toInstant()).getYears(); break; case 1: ret = Months.monthsBetween(leftDateTime.toInstant(), rightDateTime.toInstant()).getMonths(); break; case 2: ret = Days.daysBetween(leftDateTime.toInstant(), rightDateTime.toInstant()).getDays(); break; case 3: ret = Hours.hoursBetween(leftDateTime.toInstant(), rightDateTime.toInstant()).getHours(); break; case 4: ret = Minutes.minutesBetween(leftDateTime.toInstant(), rightDateTime.toInstant()).getMinutes(); break; case 5: ret = Seconds.secondsBetween(leftDateTime.toInstant(), rightDateTime.toInstant()).getSeconds(); break; case 7: ret = Days.daysBetween(leftDateTime.toInstant(), rightDateTime.toInstant()).getDays() / 7; } if (idx < 6) { while (++idx < 7) { if (leftInstant.get(DateTime.getField(idx)) > rightInstant.get(DateTime.getField(idx))) { ret += 1; break; } } } return ret; }
assertFunction("date_diff('second', " + baseDateTimeLiteral + ", " + TIMESTAMP_LITERAL + ")", BIGINT, secondsBetween(baseDateTime, TIMESTAMP).getSeconds()); assertFunction("date_diff('minute', " + baseDateTimeLiteral + ", " + TIMESTAMP_LITERAL + ")", BIGINT, minutesBetween(baseDateTime, TIMESTAMP).getMinutes()); assertFunction("date_diff('hour', " + baseDateTimeLiteral + ", " + TIMESTAMP_LITERAL + ")", BIGINT, hoursBetween(baseDateTime, TIMESTAMP).getHours()); assertFunction("date_diff('day', " + baseDateTimeLiteral + ", " + TIMESTAMP_LITERAL + ")", BIGINT, daysBetween(baseDateTime, TIMESTAMP).getDays()); assertFunction("date_diff('week', " + baseDateTimeLiteral + ", " + TIMESTAMP_LITERAL + ")", BIGINT, weeksBetween(baseDateTime, TIMESTAMP).getWeeks()); assertFunction("date_diff('hour', " + weirdBaseDateTimeLiteral + ", " + WEIRD_TIMESTAMP_LITERAL + ")", BIGINT, hoursBetween(weirdBaseDateTime, WEIRD_TIMESTAMP).getHours()); assertFunction("date_diff('day', " + weirdBaseDateTimeLiteral + ", " + WEIRD_TIMESTAMP_LITERAL + ")", BIGINT,