java 时间取整 不满30分钟的算整点,大于30分钟的算30分钟
```java
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
String time1="08:12:00";
String time2="07:56:59";
String time3="12:56:20";
String time4="23:56:30";
String time11=getInitialTime(time1);
String time22=getInitialTime(time2);
String time33=getInitialTime(time3);
String time44=getInitialTime(time4);
System.out.println(time11);
System.out.println(time22);
System.out.println(time33);
System.out.println(time44);
}
/**
* 时间 不满30分钟的算整点,30分-59分的算30分钟
*/
private static String getInitialTime(String time){
String hour="00";//小时
String minutes="00";//分钟
String outTime="00:00:00";
StringTokenizer st = new StringTokenizer(time, ":");
List<String> inTime = new ArrayList<String>();
while (st.hasMoreElements()) {
inTime.add(st.nextToken());
}
hour=inTime.get(0).toString();
minutes=inTime.get(1).toString();
if(Integer.parseInt(minutes)>30){
hour=(Integer.parseInt(hour))+"";
outTime=hour+":30:00";
}else{
outTime=hour+":00:00";
}
SimpleDateFormat sdf=new SimpleDateFormat("HH:mm:ss");
try {
outTime=sdf.format(sdf.parse(outTime));
} catch (ParseException e) {
e.printStackTrace();
}
return outTime;
}