package com.emg.matchs.utils;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/**
* @Auther: sss
* @Date: 2020/6/3 14:41
* @Description:
* 注意问题:
* 在Calendar中每周是从我们中国人的周日(星期七)开始计算的.
* 所以Calendar的周一实际为我们中国人的上周的星期七.
* 在此需要特殊处理一下.
*/
public class Test {
/**
* 根据日期字符串判断当月第几周
*
* @param str
* @return
* @throws Exception
*/
public static int getWeek(String str) throws Exception {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(str);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
//第几周
int week = calendar.get(Calendar.WEEK_OF_MONTH);
//第几天,从周日开始
int day = calendar.get(Calendar.DAY_OF_WEEK);
if (day == 1) {
day = 7;
week = week - 1;
} else {
day = day - 1;
}
return week;
}
}