【发布时间】:2016-02-19 15:36:18
【问题描述】:
我有一个表,其范围为小时和分钟,从“07:00”到“14:00”,以及一个获取这些值的 Java Api。 起初我使用秒数(28800 到 50400)。
我想每 5 分钟获取一次介于两者之间的所有值(“07:05”、“07:10”、“07:15”、“07:20”...“08:15”.. . "13:55", "14:00").
但我不知道如何以干净的方式做到这一点。
类方法(在控制台上效果很好,但 api 的输出以纳秒为单位:
@Transient
public List<LocalTime> getHorarios(){
long initialCapacity = 0;
List<LocalTime> times = new ArrayList<LocalTime> ( ( int ) initialCapacity );
while ( ! nextTime.isAfter ( stop ) ) {
times.add ( nextTime );
nextTime = nextTime.plusMinutes ( 5 );
}
return times;
}
@Transient
public List<LocalTime> getHorariosLibres(List<LocalTime> horariosTomados){
List<LocalTime> horariosLibres = getHorarios();
horariosLibres.removeAll(horariosTomados);
return horariosLibres;
}
到目前为止,这是我的控制器:
@RequestMapping(value = "/horario/{fecha}", method = RequestMethod.GET)
@ResponseBody
public Object queryHorariosLibres(@PathVariable("fecha") @DateTimeFormat(pattern="yyyy-MM-dd") Date fecha) {
List<LocalTime> horariosTomados = turnoService.getHorariosTomados(fecha);
Calendar dia = new GregorianCalendar();
dia.setTime(fecha);
Horario horario = horarioRepository.findByDia(dia.get(Calendar.DAY_OF_WEEK));
List<LocalTime> horariosLibres = horario.getHorariosLibres(horariosTomados);
return horariosLibres;
}
通过 API 实际输出:
[{"hour":7,"minute":0,"second":0,"nano":0},{"hour":7,"minute":5,"second":0,"nano":0},{"hour":7,"minute":10,"second":0,"nano":0},{"hour":7,"minute":15,"second":0,"nano":0},{"hour":7,"minute":20,"second":0,"nano":0},{"hour":7,"minute":25,"second":0,"nano":0},{"hour":7,"minute":30,"second":0,"nano":0},{"hour":7,"minute":35,"second":0,"nano":0},{"hour":7,"minute":40,"second":0,"nano":0},{"hour":7,"minute":45,"second":0,"nano":0},{"hour":7,"minute":50,"second":0,"nano":0},{"hour":7,"minute":55,"second":0,"nano":0},{"hour":8,"minute":0,"second":0,"nano":0},{"hour":8,"minute":5,"second":0,"nano":0},{"hour":8,"minute":10,"second":0,"nano":0},{"hour":8,"minute":15,"second":0,"nano":0},{"hour":8,"minute":20,"second":0,"nano":0},{"hour":8,"minute":25,"second":0,"nano":0},{"hour":8,"minute":30,"second":0,"nano":0},{"hour":8,"minute":35,"second":0,"nano":0},{"hour":8,"minute":40,"second":0,"nano":0},{"hour":8,"minute":45,"second":0,"nano":0},{"hour":8,"minute":50,"second":0,"nano":0},{"hour":8,"minute":55,"second":0,"nano":0},{"hour":9,"minute":0,"second":0,"nano":0},{"hour":9,"minute":5,"second":0,"nano":0},{"hour":9,"minute":10,"second":0,"nano":0},{"hour":9,"minute":15,"second":0,"nano":0},{"hour":9,"minute":20,"second":0,"nano":0},{"hour":9,"minute":25,"second":0,"nano":0},{"hour":9,"minute":30,"second":0,"nano":0},{"hour":9,"minute":35,"second":0,"nano":0},{"hour":9,"minute":40,"second":0,"nano":0},{"hour":9,"minute":45,"second":0,"nano":0},{"hour":9,"minute":50,"second":0,"nano":0},{"hour":9,"minute":55,"second":0,"nano":0},{"hour":10,"minute":0,"second":0,"nano":0},{"hour":10,"minute":5,"second":0,"nano":0},{"hour":10,"minute":10,"second":0,"nano":0},{"hour":10,"minute":15,"second":0,"nano":0},{"hour":10,"minute":20,"second":0,"nano":0},{"hour":10,"minute":25,"second":0,"nano":0},{"hour":10,"minute":30,"second":0,"nano":0},{"hour":10,"minute":35,"second":0,"nano":0},{"hour":10,"minute":40,"second":0,"nano":0},{"hour":10,"minute":45,"second":0,"nano":0},{"hour":10,"minute":50,"second":0,"nano":0},{"hour":10,"minute":55,"second":0,"nano":0},{"hour":11,"minute":0,"second":0,"nano":0},{"hour":11,"minute":5,"second":0,"nano":0},{"hour":11,"minute":10,"second":0,"nano":0},{"hour":11,"minute":15,"second":0,"nano":0},{"hour":11,"minute":20,"second":0,"nano":0},{"hour":11,"minute":25,"second":0,"nano":0},{"hour":11,"minute":30,"second":0,"nano":0},{"hour":11,"minute":35,"second":0,"nano":0},{"hour":11,"minute":40,"second":0,"nano":0},{"hour":11,"minute":45,"second":0,"nano":0},{"hour":11,"minute":50,"second":0,"nano":0},{"hour":11,"minute":55,"second":0,"nano":0},{"hour":12,"minute":0,"second":0,"nano":0},{"hour":12,"minute":5,"second":0,"nano":0},{"hour":12,"minute":10,"second":0,"nano":0},{"hour":12,"minute":15,"second":0,"nano":0},{"hour":12,"minute":20,"second":0,"nano":0},{"hour":12,"minute":25,"second":0,"nano":0},{"hour":12,"minute":30,"second":0,"nano":0},{"hour":12,"minute":35,"second":0,"nano":0},{"hour":12,"minute":40,"second":0,"nano":0},{"hour":12,"minute":45,"second":0,"nano":0},{"hour":12,"minute":50,"second":0,"nano":0},{"hour":12,"minute":55,"second":0,"nano":0},{"hour":13,"minute":0,"second":0,"nano":0},{"hour":13,"minute":5,"second":0,"nano":0},{"hour":13,"minute":10,"second":0,"nano":0},{"hour":13,"minute":15,"second":0,"nano":0},{"hour":13,"minute":20,"second":0,"nano":0},{"hour":13,"minute":25,"second":0,"nano":0},{"hour":13,"minute":30,"second":0,"nano":0},{"hour":13,"minute":35,"second":0,"nano":0},{"hour":13,"minute":40,"second":0,"nano":0},{"hour":13,"minute":45,"second":0,"nano":0},{"hour":13,"minute":50,"second":0,"nano":0},{"hour":13,"minute":55,"second":0,"nano":0},{"hour":14,"minute":0,"second":0,"nano":0}]
【问题讨论】:
-
你的问题和
mysql标签有什么关系?