例如:
給你一個日期為2006/2/14,那麼這一天所在周的第一天的日期為2006/2/12,最後一天為2006/2/18,
請問給你2006/2/14,如何得到2006/2/12和2006/2/18?Java中是否提供這樣的類或方法,或者如何用一個比較簡便的方法實現該功能?此外,如何知道2006/2/14是2006年的第幾周?
給你一個日期為2006/2/14,那麼這一天所在周的第一天的日期為2006/2/12,最後一天為2006/2/18,
請問給你2006/2/14,如何得到2006/2/12和2006/2/18?Java中是否提供這樣的類或方法,或者如何用一個比較簡便的方法實現該功能?此外,如何知道2006/2/14是2006年的第幾周?
2.Calendar.WEEK_OF_YEAR获得你要的结果
import java.util.Calendar;
import java.text.SimpleDateFormat;
import java.util.Date;public class CalDate{
public static void main(String[] args){
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
//一年的第幾周
System.out.println(calendar.get(Calendar.WEEK_OF_YEAR));
//得到今天是星期几,星期日为1
int datInWeek = calendar.get(Calendar.DAY_OF_WEEK);
//Clone一个新的
Calendar calendar1 = (Calendar)calendar.clone();
//所在周的第一天
calendar.add(Calendar.DAY_OF_MONTH, -(datInWeek - 1));
System.out.println(format.format(calendar.getTime()));
//所在周的最后一天
calendar1.add(Calendar.DAY_OF_MONTH, 7 - datInWeek);
System.out.println(format.format(calendar1.getTime()));
}
}