fix:添加日期工具类

上级 02e388a5
...@@ -17,4 +17,12 @@ public class CommonConstant { ...@@ -17,4 +17,12 @@ public class CommonConstant {
* redis前缀 * redis前缀
*/ */
public static final String PREFIX_REDIS_KEY = "test:"; public static final String PREFIX_REDIS_KEY = "test:";
/**
* 7天,一周
*/
public static final Integer SEVEN = 7;
/**
* 3天
*/
public static final Integer THREE = 3;
} }
...@@ -2,7 +2,13 @@ package com.kwan.springbootkwan.utils; ...@@ -2,7 +2,13 @@ package com.kwan.springbootkwan.utils;
import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil; import com.kwan.springbootkwan.constant.CommonConstant;
import lombok.extern.slf4j.Slf4j;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/** /**
* 时间工具类 * 时间工具类
...@@ -11,17 +17,98 @@ import cn.hutool.core.util.StrUtil; ...@@ -11,17 +17,98 @@ import cn.hutool.core.util.StrUtil;
* @version : 2.2.0 * @version : 2.2.0
* @date : 2023/7/21 23:29 * @date : 2023/7/21 23:29
*/ */
@Slf4j
public class DateUtils { public class DateUtils {
public static void main(String[] args) {
/**
* 获取前7天日期
*/
public static String inMonth() {
// 获取当前日期时间 // 获取当前日期时间
DateTime now = DateUtil.date(); DateTime now = DateUtil.date();
// 获取当前日期所在的周数
int weekOfYear = DateUtil.weekOfYear(now);
// 获取当前日期所在的月份,并格式化为两位数字 // 获取当前日期所在的月份,并格式化为两位数字
String month = String.format("%02d", DateUtil.month(now) + 1); return String.format("%02d", DateUtil.month(now) + 1);
// 将周数和月份拼接成字符串 }
String result = StrUtil.format("当前日期所在的周数:{},当前日期所在的月份:{}", weekOfYear, month);
System.out.println(result); /**
* 获取前7天日期
*/
public static int inWeek() {
// 获取当前日期时间
DateTime now = DateUtil.date();
// 获取当前日期所在的周数
return DateUtil.weekOfYear(now);
}
/**
* 获取指定天的3天数据
*
* @param date
* @return
*/
public static List<String> before3Days(String date) {
List<String> dates = new ArrayList<>();
dates.add(date);
for (int i = 1; i < CommonConstant.THREE; i++) {
final DateTime dateTime = DateUtil.offsetDay(str2Date(date), -i);
dates.add(DateUtil.formatDate(dateTime));
}
return dates;
}
/**
* 获取前7天日期
*/
public static List<String> before7Days() {
List<String> dates = new ArrayList<>();
final DateTime yesterdayDate = DateUtil.yesterday();
final String yesterday = DateUtil.formatDate(yesterdayDate);
dates.add(yesterday);
for (int i = 1; i < CommonConstant.SEVEN; i++) {
final DateTime dateTime = DateUtil.offsetDay(yesterdayDate, -i);
dates.add(DateUtil.formatDate(dateTime));
}
return dates;
}
/**
* 获取日期的集合
*
* @param start
* @param end
* @return
*/
public static List<LocalDate> getDateRangeList(String start, String end) {
LocalDate startDate = LocalDate.parse(start);
LocalDate endDate = LocalDate.parse(end);
List<LocalDate> dateList = new ArrayList<>();
LocalDate currentDate = startDate;
while (!currentDate.isAfter(endDate)) {
dateList.add(currentDate);
currentDate = currentDate.plusDays(1);
}
return dateList;
}
/**
* 字符串转日期
*
* @param str
* @return
*/
public static Date str2Date(String str) {
return DateUtil.parse(str);
}
/**
* 日期转字符串
*
* @param date
* @return
*/
public static String date2Str(Date date) {
return DateUtil.format(date, "yyyy-MM-dd");
} }
} }
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册