4

今週の月曜日の日付を取得するメソッドを実装し、月曜日を週の最初の日に割り当てました。

しかし、私が何をしても、Sun Mar 24 15:03:07GMT2013が返されます。ここで問題が何であるかがわかりません。誰か助けてくれますか?

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;
}
4

4 に答える 4

3

これを試して :

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));
}
于 2013-03-19T15:18:27.707 に答える
1

わたしにはできる:

    Calendar c = Calendar.getInstance();
    c.setFirstDayOfWeek(Calendar.MONDAY);
    c.setTime(new Date());
    int today = c.get(Calendar.DAY_OF_WEEK);
    c.add(Calendar.DAY_OF_WEEK, -today+Calendar.MONDAY);
    System.out.println("Date "+c.getTime());
于 2013-03-19T15:10:46.653 に答える
1

曜日に 1 つ追加するだけです。

Calendar cal = Calendar.getInstance();
cal.set(Calendar.DAY_OF_WEEK, cal.getActualMinimum(Calendar.DAY_OF_WEEK) + 1);
return cal.getTime();
于 2013-03-19T15:14:55.440 に答える
0

またはJodaTimeで

LocalDate.now().withDayOfWeek(DateTimeConstants.MONDAY);

Joda 時間から: 週の最初の日?

于 2013-03-19T15:22:13.270 に答える