`
Luob.
  • 浏览: 1572471 次
  • 来自: 上海
社区版块
存档分类
最新评论

Java 如何判断一个时间是否是昨天

    博客分类:
  • Java
阅读更多
/**
	 * @author LuoB.
	 * @param oldTime 较小的时间
	 * @param newTime 较大的时间 (如果为空   默认当前时间 ,表示和当前时间相比)
	 * @return -1 :同一天.    0:昨天 .   1 :至少是前天.
	 * @throws ParseException 转换异常
	 */
	private int isYeaterday(Date oldTime,Date newTime) throws ParseException{
		if(newTime==null){
			newTime=new Date();
		}
               //将下面的 理解成  yyyy-MM-dd 00:00:00 更好理解点
		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
	    String todayStr = format.format(newTime);
	    Date today = format.parse(todayStr);
	    //昨天 86400000=24*60*60*1000 一天
	    if((today.getTime()-oldTime.getTime())>0 && (today.getTime()-oldTime.getTime())<=86400000) {
            return 0;
        }
	    else if((today.getTime()-oldTime.getTime())<=0){ //至少是今天
	    	return -1;
	    }
	    else{ //至少是前天
	    	return 1;
	    }
		
	}
1
6
分享到:
评论
5 楼 Luob. 2015-04-23  
ningv 写道
ningv 写道
lz你的逻辑有误。例如昨天凌晨1:00跟今天17:00之间的差距(秒)大于86400000,但仍属于相差一天。

放上我的代码:
public static boolean oneDayDifference(Date oldDate, Date newDate) {
Calendar oldCal = Calendar.getInstance();
Calendar newCal = Calendar.getInstance();

oldCal.setTime(oldDate);
newCal.setTime(newDate);
return Math.abs(newCal.get(Calendar.DAY_OF_YEAR) - oldCal.get(Calendar.DAY_OF_YEAR)) == 1;
}




@Test
public void test16() throws Exception{
Calendar cal=Calendar.getInstance(); //2015-04-23
cal.set(2015, 3, 23);
System.out.println(cal.get(Calendar.DAY_OF_YEAR)); //113

Calendar cal1=Calendar.getInstance();
cal1.set(2014, 3, 22);
System.out.println(cal1.get(Calendar.DAY_OF_YEAR)); // 112
//这两个时间 是 昨天吗 ???
}
4 楼 ningv 2015-04-21  
ningv 写道
lz你的逻辑有误。例如昨天凌晨1:00跟今天17:00之间的差距(秒)大于86400000,但仍属于相差一天。

放上我的代码:
public static boolean oneDayDifference(Date oldDate, Date newDate) {
Calendar oldCal = Calendar.getInstance();
Calendar newCal = Calendar.getInstance();

oldCal.setTime(oldDate);
newCal.setTime(newDate);
return Math.abs(newCal.get(Calendar.DAY_OF_YEAR) - oldCal.get(Calendar.DAY_OF_YEAR)) == 1;
}
3 楼 ningv 2015-04-21  
lz你的逻辑有误。例如昨天凌晨1:00跟今天17:00之间的差距(秒)大于86400000,但仍属于相差一天。
2 楼 Luob. 2012-08-30  
lhw121747346 写道
楼主写错了吧,如果两个日期在同一天,相差几个小时,也会判断成昨天!

不会的
程序的意思是:
获得要比较的时间的毫秒数,和 今天的 00:00:00时刻的毫秒数相比,

比如:oldtime: 2012-08-08 12:12:12 ==》毫秒:A

      newtime:  2012-08-08 00:00:00 ==》毫秒:B
那么
A  一定大于 B 的因此 就是上面说的 至少是今天
1 楼 lhw121747346 2012-08-30  
楼主写错了吧,如果两个日期在同一天,相差几个小时,也会判断成昨天!

相关推荐

    java获取今天、昨天、近一周、本周、本月时间段

    java获取今天、昨天、近一周、近两周、近三周、近一月、近两月、近三月、近半年、本周、上周、本月、上月时间段

    java8 localtime 毫秒与时间互转 获取前一天六点钟时间

    java8 localtime 毫秒与时间互转 获取前一天六点钟时间

    基于Java语言编写的Spring Boot时间工具类方法封装

    当前的日期、根据指定日期得获取对应年份的所有月的日期、获取月初时间、获取月末时间、获取当天的起始时间、获取当天的结束时间、获取昨天的开始时间、获取昨天的结束时间、当前季度的开始时间、当前季度的结束时间...

    Java DateUtil.java日期时间操作类源代码.rar

    dd-YY、MM/dd/YY",并输出为正常的格式yyyy-MM-dd、将字符串数组使用指定的分隔符合并成一个字符串、获取日期字符串中的中文时间表示字符串、获取日期字符串的中文日期时间表示、获取当前日期的字符串等。

    java_显示当前时间

    java_显示当前时间,里边包括了详细时间,当前的年月人时分秒和上午下午。

    获取当天昨天上周当月当年的起始和结束时间

    获取当天、昨天、上周、当月、上个月 当年等起始和结束时间

    java获取时间 x分钟前 x天前 今天xx:xx 的函数

    自己写了一个函数,代码很简单,仅供学习使用,还望多提意见 /** * 格式化列表上的 发生时间 * @param occurTime 事件发生时间 * @return 格式化好的时间 如3分钟前 5天前 */ 微博上列表显示时,总已醒目的...

    java获取指定的开始时间,当天开始、当天结束、昨天开始、昨天结束、本周开始、本周结束、上周开始、上周结束时间

    java获取指定的开始时间,当天开始、当天结束、昨天开始、昨天结束、本周开始、本周结束、上周开始、上周结束时间

    java获取昨天日期字符串的方法

    主要介绍了java获取昨天日期字符串的方法,涉及java针对日期与时间的运算与转换等相关操作技巧,需要的朋友可以参考下

    Java中如何使用日期对象

    Java中如何使用日期对象 Java中如何使用日期对象

    日期工具Java类

    日期工具Java类,一看就明白.可以得到当前日期的上月上周和昨天的日期时间.

    操作日期时间的工具类,封装的比较完善

    java写的,操作日期时间的工具类,封装的比较完善,可以获取最小时间, 获取最大时间,获取今天最小时间,获取今天最大时间,获取明天的最小时间,获取明天的最大时间,获取昨天的最小时间,获取昨天的最大时间,...

    java面试宝典

    42、一个“.java”源文件中是否可以包含多个类(不是内部类)?有什么限制? 12 43、说出一些常用的类,包,接口,请各举5 个。 12 44、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类?是否可以...

    DateHandler.java日期处理类Java文件下载.rar

    DateHandler.java日期处理类Java文件下载,有些功能很不错哦,比如计算是否是季度末、计算从现在开始几天后的时间、得到当前时间,用于文件名,使用yyyyMMddHHmmss格式、比较日期,与现在-N天的日期对比、比较日期,...

    面试编程题

    1、编程输出一个倒立三角形图。 2、打印昨天的当前时刻。 3、编写程序,取得当前时间的年月日,小时分秒。 4、编写冒泡排序法。 5、用Java代码实现堆栈。 6、设计4个线程,其中两个线程每次对j增加1,另外两个线程对...

    微信网页授权-java-代码类 -比较实用

    微信网页授权-java-代码类:大家都说网页授权很绕 所以我昨天晚上 加今天早上赶了下,我也看了 网上没有什么好的代码参考 所以自己写下 给那些入门的做个参考 由于时间紧 注释没有来得及写完整 还望见谅!

    java在线考试系统.zip

    段唯钧:完成前端考试查询页面,实现一个页面显示多个不同页面 8/7 12:00 梁净净:(数据丢失)解决前一天登陆注册问题 8/7 10:00 段唯钧:修改前台页面获取后台数据的脚本 8/7 10:00 柴智:利用POI插件实现...

    获取当月的第一天和最后一天

    java开发中获取当月的第一天和最后一天日期

    selenium RC入门实例

    昨天群里有朋友问我selenium入门例子,我今天抽了点时间写了一段简单的代码,此代码适合刚刚学习selenium的人员参考,此代码是selenium2 RC 调用chrome driver访问百度,输入Jack_test 搜索. 代码里面含资源包:selenium...

    Java DateHandler日期处理程序

    Java源码:DateHandler日期时间计算处理类文件,包括了一些常用的处理函数,比如计算是否是季度末,计算从现在开始几天后的时间,带格式的日期,得到当前时间,用于文件名,没有特殊字符,使用yyyyMMddHHmmss格式,...

Global site tag (gtag.js) - Google Analytics