java - 如何获得可比较的日期解析 "13:00"?

标签 java datetime

我正在尝试:

new Date("13:00")

我关心的是一天中的时间,并且比较时 new Date("12:00") 小于 new Date("13:00")。没有库吗?

最佳答案

如果您创建两个日期并仅设置小时和分钟(例如,通过使用时间格式模式进行解析或通过在日历中设置字段),您可以对它们进行比较。

java.util.Date 提供 beforeafter日期比较的方法。它还实现了 Comparable# compareTo ,因此您可以在一次调用中测试 before/equals/after。

    // get dates using format/parse
    DateFormat format = new SimpleDateFormat("HH:mm");
    Date date1 = format.parse("13:00");
    Date date2 = format.parse("13:00");

    // use Date comparison methods
    boolean before = date1.before(date2);
    System.err.println(before);

    // use compareTo
    int compare = date1.compareTo(date2);
    System.err.println(compare);

    // get dates using Calendar
    Calendar calendar = Calendar.getInstance();
    calendar.set(Calendar.HOUR, 12);
    calendar.set(Calendar.MINUTE, 0);
    date1 = calendar.getTime();
    calendar.set(Calendar.HOUR, 13);
    date2 = calendar.getTime();

关于java - 如何获得可比较的日期解析 "13:00"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8093010/

相关文章:

python - Pandas :为无值设置默认日期时间

MySQL查询每月选择一组项目

java - 将 SAS 日期时间值转换为 Java YYYY-MM-DD HH :mm:ss

python - 使用特定日期时间索引重新索引 Pandas Dataframe

java - 在 Solaris SPARC 上安装 Jenkins

java - CQ 5.5 i18n 和接受语言 header

java - 带过滤功能的 jetty

java - GWT - 如何将更多行附加到单元格表/数据网格

java - 将带时区的 Joda-Time `DateTime` 转换为不带时区的 DateTime?

java - 使用 MySQL 运行 Hibernate 5 的 Maven 依赖项是什么?