62,634
社区成员




public class CalendarUtil {
public static final String SIMPLE_FORMAT = "yyyy-M-d";
public static String getWeekOfYear(String dateStr, String dateFormat) {
SimpleDateFormat format = new SimpleDateFormat(dateFormat);
try {
Date date = format.parse(dateStr);
Calendar calendar = Calendar.getInstance();
calendar.setFirstDayOfWeek(Calendar.MONDAY);
calendar.setTime(date);
return calendar.get(Calendar.YEAR) + "第" + calendar.get(Calendar.WEEK_OF_YEAR) + "周";
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
public static String getStartDayOfWeekNo(int year, int weekNo) {
Calendar cal = getCalendarFormYear(year);
cal.set(Calendar.WEEK_OF_YEAR, weekNo);
return cal.get(Calendar.YEAR) + "-" + (cal.get(Calendar.MONTH) + 1) + "-" +
cal.get(Calendar.DAY_OF_MONTH);
}
private static Calendar getCalendarFormYear(int year) {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
cal.set(Calendar.YEAR, year);
return cal;
}
public static void main(String[] args) {
System.out.println("开始时间: " + getStartDayOfWeekNo(2017, 1));
String dateStr = "2017-1-1";
System.out.println(dateStr + "是" + getWeekOfYear("2017-1-1", SIMPLE_FORMAT));
}
}
private static Calendar getCalendarFormYear(int year) {
Calendar cal = Calendar.getInstance();
//设置周一为一周的第一天
cal.setFirstDayOfWeek(Calendar.MONDAY);
cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
cal.set(Calendar.YEAR, year);
return cal;
}
输出结果:
开始时间: 2016-12-26
2017-1-1是2017第1周