试图获取本周星期一的日期

2022-01-11 00:00:00 date calendar java

我已经实现了一种方法来获取本周星期一的日期,并且我已将星期一指定为一周的第一天.

I have implemented a method to get the date of the Monday in the current week, and I have assigned Monday to be the first day of the week.

但是,无论我做什么,它都会返回 Sun Mar 24 15:03:07 GMT 2013.我看不出这里有什么问题.有人能帮忙吗?

But, no matter what I do, it returns Sun Mar 24 15:03:07 GMT 2013. I can't see what the issue is here. Anybody able to help?

public static Date getFirstDayOfWeekDate()
{
    Calendar cal = Calendar.getInstance();
    cal.setFirstDayOfWeek(2);
    cal.set(Calendar.DAY_OF_WEEK,
    cal.getActualMinimum(Calendar.DAY_OF_WEEK));
    Date firstDayOfTheWeek = cal.getTime();
    return firstDayOfTheWeek;
}

推荐答案

试试这个:

public static Date getFirstDayOfWeekDate() {
    Calendar cal = Calendar.getInstance();
    cal.set(Calendar.DAY_OF_WEEK,
            cal.getActualMinimum(Calendar.DAY_OF_WEEK));
    Date now = new Date();
    cal.setTime(now);
    int week = cal.get(Calendar.DAY_OF_WEEK);
    return new Date(now.getTime() - 24 * 60 * 60 * 1000 * (week - 1));
}

相关文章