解决方案 »

  1.   

    你没好好理解getTime.
    getTime 方法返回一个整数值,这个整数代表了从 1970 年 1 月 1 日开始计算到 Date 对象中的时间之间的毫秒数。但是,根据时区不同,并不是0时0分0秒。比如在中国,就是1970-01-01 08:00:00,你把这8个小时考虑进去试试。其他方式实现的代码一会回答。
      

  2.   

    public static void main(String[] args) throws Exception {
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    // 你需要传递的时间
    Date d = sdf.parse("2012-01-01 10:00:00");

    // 将传递进来的时间去除掉年月日
    SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");
    Date formatDate = sdf2.parse(sdf2.format(d));

    // 判断两个时间是不是相等就行了,相等就是一整天,不相等就不是一整天
    System.out.println(d.equals(formatDate));
    }
      

  3.   

    感谢 fymod,原来文档上说的1970 年 1 月 1 日是格林尼治时间,原来没有注意到。
    问题已解决。