java 小时时间就近取整

Posted zhangheliang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 小时时间就近取整相关的知识,希望对你有一定的参考价值。

/**
* 时间就近取整
* 08:00 -> 08:00,
* 08:20 -> 08:30,
* 08:30 -> 08:30,
* 08:45 -> 09:00,
* 23:56 -> 00:00
*
* @param time
* @return outTime
*/
public static String getCompleteTime(String time) {
String hour = "00";//小时
String minutes = "00";//分钟
String outTime = "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) + 1) + "";
outTime = hour + ":00";
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
try {
outTime = sdf.format(sdf.parse(outTime));
} catch (Exception e) {
e.printStackTrace();
}
} else if (Integer.parseInt(minutes) == 00) {
outTime = hour + ":00";
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
try {
outTime = sdf.format(sdf.parse(outTime));
} catch (Exception e) {
e.printStackTrace();
}
} else if (Integer.parseInt(minutes) <= 30 && Integer.parseInt(minutes) != 00) {
outTime = hour + ":30";
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");

try {
outTime = sdf.format(sdf.parse(outTime));
} catch (Exception e) {
e.printStackTrace();
}
}
return outTime;
}

以上是关于java 小时时间就近取整的主要内容,如果未能解决你的问题,请参考以下文章

C#取整 之 Math取整

0151 Math对象:randomroundfloorceilabsmaxmin随机整数案例

java中如何取整?

在java中怎么对一个数字取整?

1个小时学会所有Linux核心命令

在java中怎么对一个数字取整