java如何得到上周一和上周日的日期

Python019

java如何得到上周一和上周日的日期,第1张

/**

* 获取上周五时间

*/

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中运行,有写错的地方请谅解

public static void main(String[] args) {

Calendar cal = Calendar.getInstance()

//Java 中月 1 - 12 月,分别对应是 0 - 11

//设定目前日期为 2000/02/01(29天)

//cal.set(2000, 1, 1)

System.out.println("现在的时间: " + cal.getTime())

System.out.println("本月共有 : " + cal.getActualMaximum(Calendar.WEEK_OF_MONTH) + " 周")

int date_Count = cal.getActualMaximum(Calendar.DAY_OF_MONTH)

//Java 中星期 日、一、二、三、四、五、六,分别对应是 1 - 7

if ((cal.get(Calendar.DAY_OF_WEEK)) == 1) {

System.out.println("今天星期天")

} else if ((cal.get(Calendar.DAY_OF_WEEK)) == 2) {

System.out.println("今天星期一")

} else if ((cal.get(Calendar.DAY_OF_WEEK)) == 3) {

System.out.println("今天星期二")

} else if ((cal.get(Calendar.DAY_OF_WEEK)) == 4) {

System.out.println("今天星期三")

} else if ((cal.get(Calendar.DAY_OF_WEEK)) == 5) {

System.out.println("今天星期四")

} else if ((cal.get(Calendar.DAY_OF_WEEK)) == 6) {

System.out.println("今天星期五")

} else if ((cal.get(Calendar.DAY_OF_WEEK)) == 7) {

System.out.println("今天星期六")

}

}