Java Day of Week getFirstDayOfLastWeek(Date date)

Here you can find the source of getFirstDayOfLastWeek(Date date)

Description

get First Day Of Last Week

License

Apache License

Declaration

public static Date getFirstDayOfLastWeek(Date date) 

Method Source Code

//package com.java2s;
//License from project: Apache License 

import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

public class Main {
    public static final int SECOND = 1;
    public static final int MINUTE = 2;

    public static Date getFirstDayOfLastWeek(Date date) {
        Calendar c = Calendar.getInstance();
        c.setTimeInMillis(date.getTime() - 604800000L);
        c.set(Calendar.HOUR_OF_DAY, 0);
        c.set(Calendar.MINUTE, 0);
        c.set(Calendar.SECOND, 0);
        Date lastWeekDate = c.getTime();

        c = new GregorianCalendar();
        c.setFirstDayOfWeek(Calendar.MONDAY);
        c.setTime(new Date(lastWeekDate.getTime()));
        c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek()); // Monday
        return c.getTime();
    }//from  w  w  w .  j  a v a 2s .  c  om

    public static Date getFirstDayOfWeek(Date date) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        return getADayOfWeek(calendar, Calendar.MONDAY).getTime();
    }

    private static Calendar getADayOfWeek(Calendar day, int dayOfWeek) {
        int week = day.get(Calendar.DAY_OF_WEEK);
        if (week == dayOfWeek)
            return day;
        int diffDay = dayOfWeek - week;
        if (week == Calendar.SUNDAY) {
            diffDay -= 7;
        } else if (dayOfWeek == Calendar.SUNDAY) {
            diffDay += 7;
        }
        day.add(Calendar.DATE, diffDay);
        return day;
    }
}

Related

  1. getDaysByWeek(Integer month, Integer year, Integer week)
  2. getDaysByWeek2(Integer month, Integer year, Integer begin)
  3. getDayWeekDate(String dateStr)
  4. getDayWeekDateStr(Date date)
  5. getEndOfWeek(Date date)
  6. getFirstDayOfWeek(int year, int week)
  7. getFirstDayOfWeek(int year, int week)
  8. getFirstDayOfWeek(int year, int week)
  9. getFirstDayWeekly(final int year)