原文已同步到个人博客:http://www.tianshaojiao.com/?p=1761
日期枚举:
/**
* @author : tianshaojiao
* @version : 1.0
* @apiNote : 星期枚举
* @date : 2020/12/1
* @copyright :
*/
public enum DayOfWeekEnum {
SUNDARY('7',"星期日"),
MONDAY('1',"星期一"),
TUESDAY('2',"星期二"),
WEDNESDAY('3',"星期三"),
THURSDAY('4',"星期四"),
FRIDAY('5',"星期五"),
SATURDAY('6',"星期六");
char dayEn;
String dayCn;
DayOfWeekEnum(char dayEn,String dayCn){
setDayEn(dayEn);
setDayCn(dayCn);
}
public static DayOfWeekEnum match(char dayEn){
DayOfWeekEnum dayWeek = null;
for (DayOfWeekEnum day:DayOfWeekEnum.values()) {
if (day.getDayEn() == dayEn){
dayWeek = day;
break;
}
}
return dayWeek;
}
@Override
public String toString() {
return "DayOfWeekEnum{" +
"dayEn=" + dayEn +
", dayCn='" + dayCn + '\'' +
'}';
}
public char getDayEn() {
return dayEn;
}
public void setDayEn(char dayEn) {
this.dayEn = dayEn;
}
public String getDayCn() {
return dayCn;
}
public void setDayCn(String dayCn) {
this.dayCn = dayCn;
}
}
日期工具类如下:
/**
* @author : tianshaojiao
* @version : 1.0
* @apiNote :
* @date : 2020/12/1
* @copyright :
*/
public class DateUtil {
public static DayOfWeekEnum getDayOfWeek(Date currentDate){
DayOfWeekEnum dayOfWeekEnum = null;
Calendar cal = Calendar.getInstance();
cal.setTime(currentDate);
// 指示一个星期中的某天。
int w = cal.get(Calendar.DAY_OF_WEEK) - 1;
if (w <= 0){
dayOfWeekEnum = DayOfWeekEnum.SUNDARY;
} else {
dayOfWeekEnum = DayOfWeekEnum.match(String.valueOf(w).charAt(0));
}
return dayOfWeekEnum;
}
public static void main(String[] args) {
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse("2020-03-11");
System.out.println(getDayOfWeek(date).toString());
} catch (ParseException e) {
e.printStackTrace();
}
}
}