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; } }