java - 时间和/或日期排序

标签 java sorting

我试图弄清楚如何使用 java 和 selenium 验证时间和/或日期的排序。这是我的情况...因此,如果我今天收到一封电子邮件,我的收件箱会显示收到邮件的时间。但是,如果我昨天收到一封电子邮件,收件箱将显示昨天的日期。我试图验证按降序排列,带有时间的电子邮件将首先出现,然后是带有日期的电子邮件。

这是我的代码,如果只有日期,它就可以工作。有人可以帮我弄清楚如何验证时间吗?

  protected void validateDateDescendingOrder(String className) {
    // create a list
    List<WebElement> messageElements = driver.findElements(By.cssSelector("div.scrollable-panel div." + className));
    List<String> messageList = new ArrayList<String>();
    for (WebElement element : messageElements) {
      messageList.add(element.getText());
    }

    // create a new list and sort
    List<String> sortedmessageList = new ArrayList<String>();
    sortedmessageList.addAll(messageList);
    Collections.sort(sortedmessageList, new Comparator<String>() {
      DateFormat f = new SimpleDateFormat("MM/dd/yy");

      @Override
      public int compare(String o1, String o2) {
        try {
          return f.parse(o2).compareTo(f.parse(o1));
        } catch (ParseException e) {
          throw new IllegalArgumentException(e);
        }
      }
    });

    // compare the original list order with the sorted list to make sure they match
    assertEquals(sortedmessageList, messageList);
  }

最佳答案

希望这对您使用 java 8 有所帮助

List<String> date = Arrays.asList("2015-11-09", "2015-11-11", "2015-11-08", "2015-11-08");
List<LocalDate> convetedSortedDate = date.stream().map(LocalDate::parse).sorted().collect(Collectors.toList());

//或

 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd/yyyy '@'hh:mm a");
    Collections.sort(datestring, (s1, s2) -> LocalDateTime.parse(s1, formatter).
            compareTo(LocalDateTime.parse(s2, formatter)));

关于java - 时间和/或日期排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51752191/

相关文章:

python - 简化python中Excel单元格名称的排序

python - 在 Python 中对混合列表进行排序

java - 如何使用 lambda 表达式基于一个变量对对象列表进行排序?

C++ 按列对二维 vector 进行排序

java - 创建时间轴 Android 应用程序

java - Base64 编码加密密码哈希

Java NIO。为什么 Flip() 方法会破坏我的程序?

java - 如何获取Chid Layout的 child ?

java - 将自定义属性添加到 ApacheDS 服务器

java - 使用特定顺序对 (Array)List 进行排序