Commit 57df15ba authored by shiyu's avatar shiyu

TimeUtil

parent c223bfbe
...@@ -6,6 +6,8 @@ import lombok.Data; ...@@ -6,6 +6,8 @@ import lombok.Data;
@Data @Data
public class DataPanelRequestDto implements Entity { public class DataPanelRequestDto implements Entity {
private Integer type;
private String startTime; private String startTime;
private String endTime; private String endTime;
......
package com.wwdz.ch.core.consts;
import com.wwdz.ch.core.util.TimeUtil;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Supplier;
public class DashbordEnum {
/**
* 分销订单状态
*/
public enum TypeEnum {
YESTERDAY(1, "昨日", TimeUtil::getYesterDayDate),
CURRENT_WEEK(2, "本周", TimeUtil::getCurrentWeekDate),
CURRENT_MONTH(3, "本月", TimeUtil::getCurrentMonthDate),
LAST_WEEK(4, "上周", TimeUtil::getLastWeekDate),
LAST_MONTH(5, "上月", TimeUtil::getLastMonthDate),
;
private int code;
private String des;
private Supplier supplier;
TypeEnum(int code, String des, Supplier supplier) {
this.code = code;
this.des = des;
this.supplier = supplier;
}
public static String getNameByCode(int code) {
for (DashbordEnum.TypeEnum typeEnum : DashbordEnum.TypeEnum.values()) {
if (code == typeEnum.getCode()) {
return typeEnum.getDes();
}
}
return null;
}
public static Supplier getFunctionByCode(int code) {
for (DashbordEnum.TypeEnum typeEnum : DashbordEnum.TypeEnum.values()) {
if (code == typeEnum.getCode()) {
return typeEnum.getSupplier();
}
}
return null;
}
public Supplier getSupplier() {
return supplier;
}
public int getCode() {
return code;
}
public String getDes() {
return des;
}
}
}
package com.wwdz.ch.core.util; package com.wwdz.ch.core.util;
import com.wwdz.ch.core.consts.DashbordEnum;
import com.xxdxxs.utils.DateUtils; import com.xxdxxs.utils.DateUtils;
import javafx.util.Pair;
import java.text.SimpleDateFormat;
import java.time.Instant; import java.time.Instant;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.ZoneId; import java.time.ZoneId;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.function.Supplier;
public final class TimeUtil { public final class TimeUtil {
...@@ -35,4 +40,94 @@ public final class TimeUtil { ...@@ -35,4 +40,94 @@ public final class TimeUtil {
return DateUtils.parseString(dateStr); return DateUtils.parseString(dateStr);
} }
/**
* 获取本周始末日期
*/
public static Pair getCurrentWeekDate() {
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
Calendar calStart = Calendar.getInstance();
Calendar calEnd = Calendar.getInstance();
calStart.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
calEnd.setFirstDayOfWeek(Calendar.MONDAY);
calEnd.set(Calendar.DAY_OF_WEEK, calEnd.getFirstDayOfWeek() + 6);
String beginDate = format.format(calStart.getTime());
String endDate = format.format(calEnd.getTime());
return new Pair<>(beginDate, endDate);
}
/**
* 获取上周始末日期
*/
public static Pair getLastWeekDate() {
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
Calendar calStart = Calendar.getInstance();
Calendar calEnd = Calendar.getInstance();
calStart.add(Calendar.DAY_OF_MONTH,-7);
calEnd.add(Calendar.DAY_OF_MONTH,-7);
calStart.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
calEnd.setFirstDayOfWeek(Calendar.MONDAY);
calEnd.set(Calendar.DAY_OF_WEEK, calEnd.getFirstDayOfWeek() + 6);
String beginDate = format.format(calStart.getTime());
String endDate = format.format(calEnd.getTime());
return new Pair<>(beginDate, endDate);
}
/**
* 获取上月始末日期
*/
public static Pair getLastMonthDate() {
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
Calendar calStart = Calendar.getInstance();
Calendar calEnd = Calendar.getInstance();
calStart.add(Calendar.MONTH, -1);//上一月
calEnd.add(Calendar.MONTH, -1);
calStart.set(Calendar.DAY_OF_MONTH, 1);
calEnd.set(Calendar.DAY_OF_MONTH, calEnd.getActualMaximum(Calendar.DAY_OF_MONTH));
String beginDate = format.format(calStart.getTime());
String endDate = format.format(calEnd.getTime());
return new Pair<>(beginDate, endDate);
}
/**
* 获取本月始末日期
*/
public static Pair getCurrentMonthDate() {
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
Calendar calStart = Calendar.getInstance();
Calendar calEnd = Calendar.getInstance();
calStart.set(Calendar.DAY_OF_MONTH, 1);
calEnd.set(Calendar.DAY_OF_MONTH, calEnd.getActualMaximum(Calendar.DAY_OF_MONTH));
String beginDate = format.format(calStart.getTime());
String endDate = format.format(calEnd.getTime());
return new Pair<>(beginDate, endDate);
}
/**
* 获取昨日
* @return
*/
public static Pair getYesterDayDate() {
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DATE, -1);
String beginDate = format.format(calendar.getTime());
String endDate = format.format(calendar.getTime());
return new Pair<>(beginDate, endDate);
}
public static Pair getAccessDate(int type) {
Supplier<Pair> supplier = DashbordEnum.TypeEnum.getFunctionByCode(type);
return supplier.get();
}
public static void main(String[] args) {
Pair<String, String> pair = getAccessDate(5);
System.out.println(pair.getKey());
System.out.println(pair.getValue());
}
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment