java - 如何比较Time.sql

标签 java time

我想将一个类中的Time实例与当前系统时间进行比较。我正在使用beforeafter方法,但是它给出意想不到的结果。

Time currentSystemTime = new Time(new java.util.Date().getTime());
Time t = Time.valueOf("23:25:00");
System.out.println(currentSystemTime+"  currentTime");
System.out.println(t+"  hardcoded Time");

输出

21:24:48  currentTime
23:25:00  hardcoded Time

但是现在,如何比较这两次。我正在尝试以下方法。它不起作用。

if(currentSystemTime.before(t))
{
  System.out.println("Hello"); 
}

这个hello应该执行,但是没有执行。有没有办法比较时间。

最佳答案

因为他们在不同的年份,

public static void main(String[] args) {
        Time currentSystemTime = new Time(new java.util.Date().getTime());
        Time t = Time.valueOf("23:25:00");
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
        System.out.println(currentSystemTime + "  currentTime");
        System.out.println(t + "  hardcoded Time");
        System.out.println(sdf.format(currentSystemTime));
        System.out.println(sdf.format(t));
        if (currentSystemTime.before(t)) {
            System.out.println("Hello");
        }
    }

结果...

17:04:13  currentTime
23:25:00  hardcoded Time
2013-10-15T17:04:13.758+0100
1970-01-01T23:25:00.000+0100

getTime() 会像@barwinkk 提到的那样工作的原因是它返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒长表示。

关于java - 如何比较Time.sql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19385794/

相关文章:

java - 使用 Prototype 的 Tapestry 5.3.7 日期和时间选择器

java - 同一 WAR 中的多个 JAX-RS 应用程序

java - 使用 Java 图形操作字符串中每个字符的形状

java - 如何准确地确定文件中的 mime 数据?

macos - 如何格式化 date -u 以便结果包括 Mac OSX 终端 session 中的时区偏移?

r - ggplot2,geom_segment 的颜色段

java - 在eclipse tomcat上发布过滤后的web.xml

java - 从 Hibernate 中的插入中排除自动生成的标识列

time - 当我输入 "%%time"时,这些参数在 jupyter notebook 中意味着什么?

perl - 将旧的 Unix 日期转换为 Perl 并进行比较