Newer
Older
casic-iot-br / casic-public / src / main / java / com / casic / missiles / util / TimeConvertUtil.java
casic_zt on 22 Apr 3 KB 添加日志记录提交
package com.casic.missiles.util;

import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.concurrent.TimeUnit;


public class TimeConvertUtil {
    public static String TimeConverter(String totalMinutesStr) {
        if (ObjectUtil.isNotEmpty(totalMinutesStr)) {
            int totalMinutes = Integer.valueOf(totalMinutesStr);
            int days = totalMinutes / (24 * 60);
            int hours = (totalMinutes % (24 * 60)) / 60;
            int minutes = totalMinutes % 60;
            return String.format("%d天%d时%d分", days, hours, minutes);
        }
        return "";
    }


    public static String TimeConverterSecond(String totalSecondsStr) {
        if (ObjectUtil.isNotEmpty(totalSecondsStr)) {
            long totalSeconds = Long.valueOf(totalSecondsStr);
            long days = TimeUnit.SECONDS.toDays(totalSeconds);
            long hours = TimeUnit.SECONDS.toHours(totalSeconds) % 24; // 余数确保不超过24小时
            long minutes = TimeUnit.SECONDS.toMinutes(totalSeconds) % 60; // 余数确保不超过60分钟
            long seconds = TimeUnit.SECONDS.toSeconds(totalSeconds) % 60; // 余数确保不超过60秒
            return String.format("%d天%d时%d分%d秒", days, hours, minutes,seconds);
        }
        return "";
    }


    public static List<String> weekDays() {
        List<String> weekDays = new ArrayList<>();
        DateTime dateTime = DateUtil.beginOfWeek(new Date());
        weekDays.add(DateUtil.beginOfWeek(new Date()).toString("yyyy-MM-dd"));
        for (int i = 1; i <= 6; i++) {
            weekDays.add(DateUtil.offsetDay(dateTime, i).toString("yyyy-MM-dd"));
        }
        return weekDays;
    }

    public static List<String> monthDays() {
        List<String> monthDays = new ArrayList<>();
        DateTime dateTime1 = DateUtil.beginOfMonth(new Date());
        DateTime dateTime2 = DateUtil.endOfMonth(new Date());
        int daysOfCurrentMonth = (int) ((dateTime2.getTime() - dateTime1.getTime()) / (1000 * 60 * 60 * 24));
        monthDays.add(DateUtil.beginOfMonth(new Date()).toString("yyyy-MM-dd"));
        for (int i = 1; i <= daysOfCurrentMonth; i++) {
            monthDays.add(DateUtil.offsetDay(dateTime1, i).toString("yyyy-MM-dd"));
        }
        return monthDays;
    }

    public static List<String> betweenDays(String begTime, String endTime) {
        List<String> betweenDays = new ArrayList<>();
        DateTime dateTime1 = DateUtil.parseDateTime(begTime);
        DateTime dateTime2 = DateUtil.parseDateTime(endTime);
        int betweenDay = (int) ((dateTime2.getTime() - dateTime1.getTime()) / (1000 * 60 * 60 * 24));
        for (int i = 0; i <= betweenDay; i++) {
            betweenDays.add(DateUtil.offsetDay(dateTime1, i).toString("yyyy-MM-dd"));
        }
        return betweenDays;
    }

    public static List<String> getPastSevenDays() {
        List<String> dates = new ArrayList<>();
        LocalDate currentDate = LocalDate.now();
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        for (int i = 6; i >= 0; i--) {
            String date = currentDate.minusDays(i).format(formatter);
            dates.add(date);
        }
        return dates;
    }

    public static List<String> getYearMonth() {
        Calendar calendar = Calendar.getInstance();
        int year = calendar.get(Calendar.YEAR);
        List<String> list = new ArrayList<>();
        for (int i = 1; i < 13; i++) {
            String month = i + "";
            if (i < 10) {
                month = "0" + i;
            }
            list.add(year + "-" + month);
        }
        return list;
    }
}