Java
截取时间段,以半个小时为单位
/**
* 截取小时 时间段,以半个小时为单位 切割
*
* @param startTime 2022-04-09 06:00:00 格式强制 年月日时分秒 yyyy-MM-dd HH:mm:ss
* @param endTime 2022-04-09 06:00:00 格式强制 年月日时分秒 yyyy-MM-dd HH:mm:ss
* @return
*/
public static List<String> getHourParts(String startTime, String endTime) {
String day = startTime.split(" ")[0];
startTime = startTime.split(" ")[1].substring(0, 5);
endTime = endTime.split(" ")[1].substring(0, 5);
System.err.println(startTime);
System.err.println(endTime);
List<String> list = new ArrayList<>();
int startIndex = 0;
int endIndex = 0;
//30分钟一次1天有48次
int hoursNumber = 48;
//开始时间为0秒,第一次循环为900秒
int startValueZero = 0;
//开始时间为-900秒,第一次循环为0秒
int startValueNineHundred = -1800;
//初始时间都为00:00
String initialTimeFront = "00:00";
//循环时间为00:00~23:30
for (int i = 0; i < hoursNumber; i++) {
//每次循环之前加15分钟
startValueZero = startValueZero + 1800;
//每次循环之前加15分钟
startValueNineHundred = startValueNineHundred + 1800;
//判断初始秒树是否为0
if (startValueZero != 0) {
//换算成小时
int conversionHours = (Integer.valueOf(startValueZero) / 3600);
//换算成分钟
int conversionMinute = (Integer.valueOf(startValueZero) % 3600 / 60);
//把生成的时间转化成字符串
String hourst = String.valueOf(conversionHours);
String minute = String.valueOf(conversionMinute);
//如果小时的长度等于1个,在其前面加个0
if (hourst.length() == 1) {
hourst = "0" + hourst;
}
//如果小时的到达24点让其初始化为00
if (hourst.equals("24")) {
hourst = "00";
}
//如果分钟的长度等于1个,在其前面加个0
if (minute.length() == 1) {
minute = "0" + minute;
}
}
//循环时间为00:30~00:00
if (startValueNineHundred != 0) {
//换算成小时
int conversionHourst = (Integer.valueOf(startValueNineHundred) / 3600);
//换算成分钟
int conversionMinute = (Integer.valueOf(startValueNineHundred) % 3600 / 60);
//把生成的时间转化成字符串
String hourst = String.valueOf(conversionHourst);
String minute = String.valueOf(conversionMinute);
//如果小时的长度等于1个,在其前面加个0
if (hourst.length() == 1) {
hourst = "0" + hourst;
}
//如果小时的到达24点让其初始化为00
if (hourst.equals("24")) {
hourst = "00";
}
//如果分钟的长度等于1个,在其前面加个0
if (minute.length() == 1) {
minute = "0" + minute;
}
//拼接小时和分钟
initialTimeFront = hourst + ":" + minute;
if (initialTimeFront.equals(startTime)) {
startIndex = i;
}
if (initialTimeFront.equals(endTime)) {
endIndex = i + 1;
}
}
//将所有字段放入list中
list.add(initialTimeFront);
}
//闭合
list.add(initialTimeFront);
//截取
List<String> subList = list.subList(startIndex, endIndex);
List<String> list1 = subList.stream().map(s -> day + " " + s + ":00").collect(Collectors.toList());
return list1;
}
获取当前时间前半个小时
/*获取当前时间前半个小时 现在13:35 返回 13:00 */
public static String startTime() {
Calendar calendar = Calendar.getInstance();
if (DateUtil.minute(DateUtil.date()) / 31 == 1) {
calendar.set(Calendar.MINUTE, 0);
} else {
calendar.add(Calendar.HOUR, -1);
calendar.set(Calendar.MINUTE, 30);
}
calendar.set(Calendar.SECOND, 0);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
long nowTime = calendar.getTimeInMillis();
String timeNextTime = simpleDateFormat.format(nowTime);
System.out.println(timeNextTime);
return timeNextTime;//35
}
List<String> collect = dtos.stream().map(BizClassDto::getName).collect(Collectors.toList());
long count = collect.stream().distinct().count();
if (count < collect.size()) {
throw new ServiceException("班级名不能重复");
}
日夜颠倒头发少 ,单纯好骗恋爱脑 ,会背九九乘法表 ,下雨只会往家跑 ,搭讪只会说你好 ---- 2050781802@qq.com