java中date类型之比较,获取整小时,前一天时间

在开发web中,我们经常需要用到Date,但是常见的几种方法已经满足不了我们的开发需要,因此在这里拓展一下使用Date的其他方法获取我们想要的结果

1. 获取前一天的时间
//获取前一天的时间
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");  
Date date=new Date();  
Calendar calendar = Calendar.getInstance();  
calendar.setTime(date);  
calendar.add(Calendar.DAY_OF_MONTH, -1);  
date = calendar.getTime();  
System.out.println(sdf.format(date));  
2.获取当前时间的后一天

如果第一点已经理解的话,那么获取明天的方法就应该简单了,只是将上面的-1改为+1就可以获取明天的时间

//获取后一天的时间
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");  
Date date=new Date();  
Calendar calendar = Calendar.getInstance();  
calendar.setTime(date);  
calendar.add(Calendar.DAY_OF_MONTH, +1);  
date = calendar.getTime();  
System.out.println(sdf.format(date)); 
3.获取当前时间的整小时时间
//获取整小时
Date date =new Date(System.currentTimeMillis()); 
//主要是将格式设置为HH:00
SimpleDateFormat formatter = new SimpleDateFormat( "HH:00"); 
String time = formatter.format(date);
System.out.println(time);
4.获取前某小时的时间
//获取前一小时的时间
SimpleDateFormat sdf=new SimpleDateFormat("HH:mm");  
//这里设置你想要的时间
Date date=sdf.parse("08:00");
Calendar calendar = Calendar.getInstance();  
calendar.setTime(date);  
//前面设置的时间-1
calendar.add(Calendar.HOUR_OF_DAY, -1);  
date = calendar.getTime();  
System.out.println(sdf.format(date))
5.两个时间段的比较

当我们想对两个时间进行比较的时候,我们往往会感到很头疼,现在使用下面的代码就能解决你的头痛

String DateStr1 = "2018-04-11 10:20:16";
String DateStr2 = "2014-04-10 15:50:35";
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date dateTime1 = dateFormat.parse(DateStr1);
Date dateTime2 = dateFormat.parse(DateStr2);
int i = dateTime1.compareTo(dateTime2); 
System.out.println(i < 0); 
两个Date类型的变量可以通过compareTo方法来比较。此方法的描述是这样的:

如果参数 Date 等于此 Date,则返回值 0
如果此 Date 在 Date 参数之前,则返回小于 0 的值;
如果此 Date 在 Date 参数之后,则返回大于 0 的值。
实际上比较的是自1970 年 1 月 1 日 00:00:00 GMT以来的毫秒数。
毫秒数越大的时间越大。

猜你喜欢

转载自blog.csdn.net/stormdony/article/details/79892787