转载:mysql的week函数与JAVA计算周的差别问题_cwfreebird的博客-优快云博客
今天遇到此问题,记录下解决办法。转载。
原获取周方法:
public static String getNowIsWeek(Date nowDate) {
Calendar calendar = Calendar.getInstance();
//设置星期一为一周开始的第一天
calendar.setFirstDayOfWeek(Calendar.MONDAY);
//获得当前的时间戳
calendar.setTime(nowDate);
//获得当前日期属于今年的第几周
int weekOfYear = calendar.get(Calendar.WEEK_OF_YEAR);
String yearStr = calendar.get(Calendar.YEAR)+"";//获取年份
return yearStr+"-"+(weekOfYear<10?"0":"")+weekOfYear;
}
新的获取周方法,与mysql的一致
public static String getNowIsWeekNew(String nowDate) {
LocalDate localDate = LocalDate.parse(nowDate);
int week = localDate.get ( IsoFields.WEEK_OF_WEEK_BASED_YEAR );
int weekYear = localDate.get ( IsoFields.WEEK_BASED_YEAR );
return weekYear+"-"+(week<10?"0":"")+week;
}