取当前日期(天)的当前周的首先天和最后一天日期
/**
* 解析日期字符串至日期类型内容
* @param date 日期字符串
* @param format 与日期字符串格式匹配的格式
* @return 解析后返回的日期
*/
public static java.util.Date parseDate(String date, String format) {
try {
SimpleDateFormat formatter;
if (null == format)
throw new IllegalArgumentException("错误的日期格式");
formatter = new SimpleDateFormat(format);
ParsePosition pos = new ParsePosition(0);
return formatter.parse(date, pos);
} catch (Exception e) {
throw new IllegalArgumentException("错误的日期:" + date + " " + e);
}
}
public static final String getDateTime(String aMask, Date aDate) {
SimpleDateFormat df = null;
String returnValue = "";
if (aDate == null) {
log.error("aDate is null!");
} else {
df = new SimpleDateFormat(aMask);
returnValue = df.format(aDate);
}
return (returnValue);
}
/**
* 取当前日期(天)的当前周的第一天和最后一天日期
*
* @param date
* @param format
* @return
*/
public static String[] getWeek(String date, String format) {
String[] result = new String[2];
Calendar calendar = Calendar.getInstance();
calendar.setTime(parseDate(date, format));
int dayOfWeek = calendar.get(calendar.DAY_OF_WEEK);
calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) - dayOfWeek + 1);
result[0] = getDateTime(format, calendar.getTime());
calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 6);
result[1] = getDateTime(format, calendar.getTime());
return result;
}
//测试类
public static void main(String[] args) throws Exception{
String[] a = getWeek("2010-07-01", "yyyy-MM-dd");
System.out.println(a[0] + " " + a[1]); //得出当前日期,当前周的第一天和最后一天
}