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.
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;
}
try this :
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));
}
It works for me:
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());
Just add one to the day of the week:
Calendar cal = Calendar.getInstance();
cal.set(Calendar.DAY_OF_WEEK, cal.getActualMinimum(Calendar.DAY_OF_WEEK) + 1);
return cal.getTime();
Or with JodaTime
LocalDate.now().withDayOfWeek(DateTimeConstants.MONDAY);
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.