我有一个JSP页面,允许用户在24小时内输入时间段,它们作为字符串存储在请求中,例如:
在迭代这些值的同时,我需要进行检查以确保有问题的时间在上一个之后,例如上面的那个。
我正在努力避免以下情况
关于我应该如何处理的任何建议?
答案 0 :(得分:2)
由于您将时间表示为字符串的方式,您可以简单地比较字符串以查看每个字符串是否大于(或等于,取决于首选项)前一个字符串。然而,这确实依赖于,例如,上午9点用前导零写为“09:00”。
答案 1 :(得分:2)
只需将其解析为时间并将其与输入的时间进行比较,如果您发现它无效,则提示用户输入有效数据。
您可以使用SimpleDateFormat类进行日期解析而不是比较两个日期。
答案 2 :(得分:1)
这是一些应该做你想做的伪代码。
List times = new ArrayList();
previousTime = time.get(0);
for(time : times)
{
if(time < previousTime)
return false;
previousTime = time;
}
我们的想法是遍历这些值并检查以确保每个值都大于或等于前一次。