我想获取具有给定日期的当前星期,例如,如果日期为2016/01/19,则结果为:week number: 3
我已经看到了一些有关此的问题和答案,但是我无法实现我想要的。这是我所做的:
public static int getCurrentWeek() {
String input = "20160115";
String format = "yyyyMMdd";
SimpleDateFormat df = new SimpleDateFormat(format);
Date date = df.parse(input);
Calendar cal = Calendar.getInstance();
cal.setTime(date);
int week = cal.get(Calendar.WEEK_OF_YEAR);
return week;
}
Run Code Online (Sandbox Code Playgroud)
我从这个问题中获取了这段代码,但是在这一行上有一个错误:
Date date = df.parse(input);
Run Code Online (Sandbox Code Playgroud)
未处理的异常类型ParseException
使用Java 8 LocalDate和WeekFields:
private int getCurrentWeek() {
LocalDate date = LocalDate.now();
WeekFields weekFields = WeekFields.of(Locale.getDefault());
return date.get(weekFields.weekOfWeekBasedYear());
}
Run Code Online (Sandbox Code Playgroud)