展开全部
package com.rxlamo.zhidao;
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class Test {
public static void main(String[] args) {
// 获取离当前日期最近62616964757a686964616fe4b893e5b19e31333363396466的一个星期天
getLastSunday();
}
/**
* 获取离当前日期最近的一个星期天
*/
public static void getLastSunday() {
// 获取当前日期
Calendar calendar = Calendar.getInstance();
// 距离上个周日的差值
long diffTime = 0L;
// 今天星期几,注:此处周日 = 1 ,周一 = 2 。。。。
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
System.out.println("toady:" + dayOfWeek);
// 如果今天是周日,看需求,是取今天的,还是取上周的
if (dayOfWeek == 1){
// 取今天
// dayOfWeek = 1;
// 取上周
dayOfWeek = 8;
}
// 计算当前时间距离上周日的时差,此处一周的开始从周日算起,根据需要
diffTime = (dayOfWeek - 1 ) * 24 * 60 * 60 * 1000;
calendar.setTimeInMillis(System.currentTimeMillis() - diffTime);
//
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("lastSunday:" + dateFormat.format(calendar.getTime()));
// 如果一周的开始从周一计算,并且请注释掉上面的 if (dayOfWeek == 1) 处判断,需要重新判断
if (dayOfWeek == 1){
// 取今天
// dayOfWeek = 0;
// 取上周
dayOfWeek = 7;
}
diffTime = dayOfWeek * 24 * 60 * 60 * 1000;
calendar.setTimeInMillis(System.currentTimeMillis() - diffTime);
System.out.println("lastSunday:" + dateFormat.format(calendar.getTime()));
}
}
有不明白在问我