如何判断一个Date时间是整小时    public static boolean isWholeOneHour(Date date) {
        boolean flag = false;
        Calendar calendar = Calendar.getInstance();
        calendar.setTimeZone(timeZone);
        calendar.setTime(date);        long oneHour = 60 * 1000 * 60;
        if (calendar.getTime().getTime() % oneHour == 0) {
            flag = true;
        } else {
            flag = false;
        }
        return flag;
    }
这样如果我传的时间有秒的话就不行、、、、还有没有别的好的方法

解决方案 »

  1.   

    没看懂你的需求.
    照你的描述,你要判断一个Date表示的是否是一个整小时,那么当时间有秒的时候就应该返回false啊.从代码看,没问题.除非你的精度要求是指1秒内.也就是说一小时零10毫秒也算做整小时,那你就calendar.getTime().getTime()/1000 % 3600 == 0 呗.
      

  2.   

    假如我的时间为:Wed Mar 07 09:00:10 GMT+08:00 2012   那也可以认为它是整小时的、、、、
      

  3.   

    Date date = new Date();
    //设置时间格式为分钟
    SimpleDateFormate sdf = new SimpleDateFormate("MM");
    String time = sdf.formate(date);
    int t = Integer.parseInt(time);
    //判断分钟数是否等于0就行了
    if(t != 0)
    {
         return false;
    }
      

  4.   

    我囧了,原来精度是到分钟啊. 那你就直接 calendar.get(calendar.MINUTE)==0 呗.
      

  5.   


    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH");
    Date date = new Date();
    try {
    if(date.getTime() - format.parse(format.format(date)).getTime() == 0){
    System.out.println("是整点");
    } else {
    System.out.println("不是整点");
    }
    } catch (ParseException e) {
    e.printStackTrace();
    }