java工具类

  1. Java
    1. 截取时间段,以半个小时为单位
    2. 获取当前时间前半个小时

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

×

喜欢就点赞,疼爱就打赏

相册 说点什么