将SimpleDateFormat输出与数字进行比较

时间:2017-06-06 07:56:17

标签: java if-statement time simpledateformat

我正在制作一个程序,每当时间达到一小时就会执行某些操作。

以下是代码:

import java.text.*;
import java.util.Date;
class NMAP {
 public static void main(String[] args) {
  DateFormat dateFormat = new SimpleDateFormat("HH");
  Date date = new Date();
  if (dateFormat.format(date).equals(17)) {
   System.out.println(dateFormat.format(date));
  }
 }
}

它应该输出17(因为它是17:00),但它不会输出任何内容。

为什么不呢?

1 个答案:

答案 0 :(得分:3)

您正在将dateFormat.equals(17)字符串与整数进行比较

无论是什么都会返回false,因为它们是不同的类型。

你必须做dateFormat.equals("17")

因为有些人需要java8的强大功能:

LocalTime now = LocalTime.now();
System.out.println(now);
System.out.println(now.getHour() == 17);