\x0d\x0a*\x0d\x0a* @param dt\x0d\x0a* @return 当前日期是星期几\x0d\x0a*/\x0d\x0apublic static String getWeekOfDate(Date dt) {\x0d\x0aString[] weekDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}\x0d\x0aCalendar cal = Calendar.getInstance()\x0d\x0acal.setTime(dt)\x0d\x0aint w = cal.get(Calendar.DAY_OF_WEEK) - 1\x0d\x0aif (w 回答于 2022-11-16
import java.text.SimpleDateFormatimport java.util.Calendar
public class DataTest {
public static void main(String[] args) {
printWeekdays()
}
private static final int FIRST_DAY = Calendar.MONDAY
private static void printWeekdays() {
Calendar calendar = Calendar.getInstance()
setToFirstDay(calendar)
for (int i = 0 i < 7 i++) {
printDay(calendar)
calendar.add(Calendar.DATE, 1)
}
}
private static void setToFirstDay(Calendar calendar) {
while (calendar.get(Calendar.DAY_OF_WEEK) != FIRST_DAY) {
calendar.add(Calendar.DATE, -1)
}
}
private static void printDay(Calendar calendar) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd EE")
System.out.println(dateFormat.format(calendar.getTime()))
}
}
/*** 获取上周五时间
*/
public Date lastFirday() {
//作用防止周日得到本周日期
Calendar calendar = Calendar.getInstance()
while (calendar.get(Calendar.DAY_OF_WEEK) != Calendar.MONDAY) {
calendar.add(Calendar.DAY_OF_WEEK, -1)
}
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1
int offset = 7 - dayOfWeek
calendar.add(Calendar.DATE, offset - 9)
return DateTimeUtil.getFirstDayOfWeek(calendar.getTime(), 6)//这是从上周日开始数的到本周五为6
}
/**
* 获取上周一时间
*/
public Date lastMonday() {
Calendar calendar = Calendar.getInstance()
while (calendar.get(Calendar.DAY_OF_WEEK) != Calendar.MONDAY) {
calendar.add(Calendar.DAY_OF_WEEK, -1)
}
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1
int offset = 1 - dayOfWeek
calendar.add(Calendar.DATE, offset - 7)
return DateTimeUtil.getFirstDayOfWeek(calendar.getTime(), 2)
}
参考
请采纳,谢谢