public static long formatMillisecondsByPeriod(long milliseconds, Period period) { return formatSecondsByPeriod(milliseconds / 1000, period) * 1000; }
@Test public void testFormatSecondsByPeriod1H() throws ParseException { Period period = new Period("PT1h"); Seconds seconds = period.toStandardSeconds(); Assert.assertEquals(60 * 60, seconds.getSeconds()); long time = DateTimeUtil.humanDateToSeconds("2015-07-01 13:56:12"); long expect = DateTimeUtil.humanDateToSeconds("2015-07-01 13:00:00"); long result = TimePeriodUtils.formatSecondsByPeriod(time, seconds); Assert.assertEquals(expect, result); time = DateTimeUtil.humanDateToSeconds("2015-07-01 03:14:59"); expect = DateTimeUtil.humanDateToSeconds("2015-07-01 03:00:00"); result = TimePeriodUtils.formatSecondsByPeriod(time, seconds); Assert.assertEquals(expect, result); time = DateTimeUtil.humanDateToSeconds("2015-07-01 03:30:59"); expect = DateTimeUtil.humanDateToSeconds("2015-07-01 03:00:00"); result = TimePeriodUtils.formatSecondsByPeriod(time, seconds); Assert.assertEquals(expect, result); }
@Test public void testFormatSecondsByPeriod15M() throws ParseException { Period period = new Period("PT15m"); Seconds seconds = period.toStandardSeconds(); Assert.assertEquals(15 * 60, seconds.getSeconds()); long time = DateTimeUtil.humanDateToSeconds("2015-07-01 13:56:12"); long expect = DateTimeUtil.humanDateToSeconds("2015-07-01 13:45:00"); long result = TimePeriodUtils.formatSecondsByPeriod(time, seconds); Assert.assertEquals(expect, result); time = DateTimeUtil.humanDateToSeconds("2015-07-01 03:14:59"); expect = DateTimeUtil.humanDateToSeconds("2015-07-01 03:00:00"); result = TimePeriodUtils.formatSecondsByPeriod(time, seconds); Assert.assertEquals(expect, result); time = DateTimeUtil.humanDateToSeconds("2015-07-01 03:14:59"); expect = DateTimeUtil.humanDateToSeconds("2015-07-01 03:00:00"); result = TimePeriodUtils.formatSecondsByPeriod(time, seconds); Assert.assertEquals(expect, result); }