Java中获取本周内所有日期

Python015

Java中获取本周内所有日期,第1张

import java.text.SimpleDateFormat

import java.util.Calendar

public class DataTest {

public static void main(String[] args) {

printWeekdays()

}

private static final int FIRST_DAY = Calendar.MONDAY

private static void printWeekdays() {

Calendar calendar = Calendar.getInstance()

setToFirstDay(calendar)

for (int i = 0 i < 7 i++) {

printDay(calendar)

calendar.add(Calendar.DATE, 1)

}

}

private static void setToFirstDay(Calendar calendar) {

while (calendar.get(Calendar.DAY_OF_WEEK) != FIRST_DAY) {

calendar.add(Calendar.DATE, -1)

}

}

private static void printDay(Calendar calendar) {

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd EE")

System.out.println(dateFormat.format(calendar.getTime()))

}

}

/**

     * 获取上周五时间

     */

    public Date lastFirday() {

//作用防止周日得到本周日期

        Calendar calendar = Calendar.getInstance()

        while (calendar.get(Calendar.DAY_OF_WEEK) != Calendar.MONDAY) {

            calendar.add(Calendar.DAY_OF_WEEK, -1)

        }

        int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1

        int offset = 7 - dayOfWeek

        calendar.add(Calendar.DATE, offset - 9)

        return DateTimeUtil.getFirstDayOfWeek(calendar.getTime(), 6)//这是从上周日开始数的到本周五为6

    }

 

/**

     * 获取上周一时间

     */

    public Date lastMonday() {

        Calendar calendar = Calendar.getInstance()

        while (calendar.get(Calendar.DAY_OF_WEEK) != Calendar.MONDAY) {

            calendar.add(Calendar.DAY_OF_WEEK, -1)

        }

        int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1

        int offset = 1 - dayOfWeek

        calendar.add(Calendar.DATE, offset - 7)

        return DateTimeUtil.getFirstDayOfWeek(calendar.getTime(), 2)

    }

参考

请采纳,谢谢

1、使用Calendar类。

Calendar cal = Calendar.getInstance()

cal.set(Calendar.YEAR, 2016)// 2016年

cal.set(Calendar.WEEK_OF_YEAR, 10)// 设置为2016年的第10周

cal.set(Calendar.DAY_OF_WEEK, 2)// 1表示周日,2表示周一,7表示周六

Date date = cal.getTime()

以上就能得到2016年第10周的周一的Date时间。

注:上面代码是手工敲的,没有放到eclipse中运行,有写错的地方请谅解