Java根据日期获取一年中的第几周

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 * Created on 2020/2/13
 *
 * @author Buckler
 * @description Java根据日期获取一年中的第几周
 */
public class test {

    public static void main(String[] args) {
        String today = "2017-01-23";
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        Date date = null;

        try {
            date = format.parse(today);

        } catch (ParseException e) {
            e.printStackTrace();
        }
        Calendar calendar = Calendar.getInstance();
        calendar.setFirstDayOfWeek(Calendar.MONDAY);
        calendar.setTime(date);
        // 这里记得要-2 原因如下备注
        System.out.println((calendar.get(Calendar.WEEK_OF_YEAR)) - 2);
    }
}

备注:
原因是美国是以周日为每周的第一天。所以”常量字段值”如下。
SUNDAY :1
MONDYA :2
TUESDAY :3
WEDNESDAY :4
THURSDAY : 5
FRIDAY : 6
SATURDAY :7

你可能感兴趣的:(Java根据日期获取一年中的第几周)