Java时间就近取整<=30分向前取整点,>30分向后取整点

本文介绍了一个用于时间处理的算法,该算法能够将给定的时间字符串进行取整操作,使其符合特定的规则,例如将小于等于30分钟的时间向前取整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String time1="08:12";
String time2="07:56";
String time3="12:56";
String time4="23:56";

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分向后取整
* Author:zr
* @param time inTime 07:56
* @return outTime 08:00
*/

 

private static String getInitialTime(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 (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return outTime;
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值