时间段均匀分割为多个时间点(预约项目可能用到时间片段化处理) 实用小功能
这个函数的编写背景是 预约项目的时间片分割处理,用于展示预约时间段列表
工具函数:
// MM是月份,mm是分;HH是24小时制,而hh是12小时制。
SimpleDateFormat sdfParam = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss",
Locale.CHINA);
public List<String> geneTimeSplit(String startTime, String endTime,
int yewuliang) throws Exception {
List<String> timeSplit = new ArrayList<String>();
timeSplit.add(startTime+":00");
System.out.println(startTime+":00");
startTime = "2017-11-15 " + startTime + ":00";
endTime = "2017-11-15 " + endTime + ":00";
Date dateStart = sdfParam.parse(startTime);
Date dateEnd = sdfParam.parse(endTime);
long cha = dateEnd.getTime() - dateStart.getTime();
long jun = cha / yewuliang;
Date dateL = null;
String str = "";
long timeTemp = dateStart.getTime();
for (int i = 0; i < yewuliang; i++) {
timeTemp += jun;
dateL = new Date(timeTemp);
str = sdfParam.format(dateL).split(" ")[1];
System.out.println(str);
timeSplit.add(str);
}
return timeSplit;
}
//测试效果 一段时间范围内 均匀分割为多个时间点
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
TimeSplit ts = new TimeSplit();
String tiemStart = "13:30";
String timeEnd = "16:30";
ts.geneTimeSplit(tiemStart, timeEnd, 10);
//输出结果 如下
// 08:30:00
// 08:48:00
// 09:06:00
// 09:24:00
// 09:42:00
// 10:00:00
// 10:18:00
// 10:36:00
// 10:54:00
// 11:12:00
// 11:30:00
}
如有疑问 请留言 欢迎提供建议
评论已有 0 条