public Map<Integer , String> Timeinterval(int value)
{
int i = 1440/value ;
Map<Integer, String> timeInt = new HashMap<Integer, String>() ;
DateTimeFormatter formatter = null ;
for(int a=0 ; a< i ; a++)
{
formatter = DateTimeFormat.forPattern("HH:mm");
LocalTime time = formatter.parseLocalTime("09:00");
time = time.plusMinutes(value);
timeInt.put(a,time.toString() );
}
return timeInt;
}
参数值在运行时从JSP获取值
当控制到达formatter = DateTimeFormat.forPattern("HH:mm")
时,它无法超越这一点。
我按下cntrl + shift + I执行了这部分DateTimeFormat.forPattern("HH:mm")
并得到了这条消息:
无法解析类型:org.joda.time.format.DateTimeFormat
如果代码
有任何其他问题,请告诉我基本上我想做的是增加时间,例如:如果时间是09:00并且我想将它递增30然后它应该变成09:30并且这一直持续直到满足时间循环条件。当我在网上研究时,我发现Joda库更容易用于完成这些任务。
答案 0 :(得分:0)
你的问题不干净。 Joda时间的LocalTime
确实支持plusMinutes(int)
,这正是您所寻找的。 p>
当然你需要在循环之外设置时间:
Map<Integer, String> timeInterval(int perDay)
{
int minutes = 1440/perDay ;
Map<Integer, String> timeInt = new HashMap<Integer, String>() ;
LocalTime time = DateTimeFormat.forPattern("HH:mm").parseLocalTime("09:00");
for(int i=0; i < perDay; i++) {
timeInt.put(i,time.toString());
time = time.plusMinutes(minutes);
}
return timeInt;
}