2013-03-19 85 views
4

我已经实施了一种方法来获取当周的星期一的日期,并且我已将星期一指定为本周的第一天。试图获取当周的星期一的日期

但是,无论我做什么,它都会返回Sun 3月24日15:03:07 GMT 2013.我看不到问题在这里。任何人都可以帮忙吗?

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

回答

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)); 
} 
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()); 
+1

这让我下周一。 – 2013-09-15 14:07:49

0

只需添加一到星期几:

Calendar cal = Calendar.getInstance(); 
cal.set(Calendar.DAY_OF_WEEK, cal.getActualMinimum(Calendar.DAY_OF_WEEK) + 1); 
return cal.getTime(); 
相关问题