日期:2014-05-20  浏览次数:20697 次

如何判断日期是一个整天
现在需要判断一个日期是否是一个整天,就是不含时分秒的日期类型
我的思路是使用getTime获取毫秒数,除以每天的毫秒数24 * 60 * 60 * 1000,取余,如果为0,就是,现在我碰到了一个问题,发现这样思路好像不对。

代码

Date d = (Date) o;
long oneday = 86400000;
if (d.getTime() % oneday == 0) {
    result = sdf.format(d);
} else {
    result = stf.format(d);
}


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

其他方式实现的代码一会回答。