【问题标题】:How can I check times to ensure they are in sequential order?如何检查时间以确保它们按顺序排列?
【发布时间】:2010-10-22 16:30:57
【问题描述】:

我有一个 JSP 页面,它允许用户在 24 小时内输入时间段,它们存储为来自请求的字符串,例如:

  • 13:00
  • 14:00
  • 15:00

在遍历这些值时,我需要执行检查以确保有问题的时间在前一个之后,例如上面的时间。

我试图避免以下情况

  1. 13:00
  2. 15:00
  3. 14:00

关于我应该如何处理这个问题有什么建议吗?

【问题讨论】:

    标签: java validation iteration


    【解决方案1】:

    由于您将时间表示为字符串的方式,您可以简单地比较字符串以查看每个字符串是否大于(或等于,取决于偏好)前一个。但是,这确实依赖于,例如,上午 9 点被写入前导零作为“09:00”。

    【讨论】:

      【解决方案2】:

      如果发现无效,只需将其解析为时间并与输入的时间进行比较,而不是提示用户输入有效数据。

      您可以使用 SimpleDateFormat 类解析为日期,而不是当然可以比较两个日期。

      【讨论】:

        【解决方案3】:

        这是一些应该做你想做的伪代码。

        List times = new ArrayList();
        previousTime = time.get(0);
        for(time : times)
        {
            if(time < previousTime)
                return false;
            previousTime = time;
        }
        

        这个想法是循环遍历这些值并检查以确保每个值都大于或等于上一次。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2020-01-16
          • 2022-07-08
          • 1970-01-01
          • 1970-01-01
          • 2016-03-20
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多