我发觉java对日期的操作特别繁琐,没有c#那么方便。不过我用的还是java1.8,也许高版本已经改善。下面的代码,给出对时间取整点(即抹去分钟),和加上若干小时。
private Date getWholePoint(Date t,int hour) {//获得整点时间和加减小时
Date myT = t;
if(hour != 0) {//是否加减小时?
Calendar cal = Calendar.getInstance();
cal.setTime(myT);
cal.add(Calendar.HOUR, hour);
myT = cal.getTime();
}
//取整到小时
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH");//格式化时间,分钟抹零
String s = sdf.format(myT);//将时间转化为字符串
try {
myT = sdf.parse(s);//然后再由字符串转回时间,成功将分钟抹零
} catch (ParseException e) {
e.printStackTrace();
}
return myT;
}
Date t1 = 。。。;
Date t2 = 。。。;
t1 = getWholePoint(t1,0);//只取整到小时
t2 = getWholePoint(t2,1);//加一个小时后取整
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26