java获取日期的周数和所属年份

在项目中遇到需要导出excel表格   表格的标题需要根据数据来动态获取

格式为     2017年第 50  周计划检修申报、实施确认表


获取日期所属周数

Date date = new Date();
Calendar cal = Calendar.getInstance();
cal.setFirstDayOfWeek(Calenar.MONDAY);//设置周一为一周的第一天
cal.setTime(date);
int num = cal.get(Calenar.WEEK_OF_YEAR);

calendar默认设置周日为第一天  需要通过setFirstDayOfWeek方法来设置  不然会导致周数错误

其中setFirstDayOfWeek传入的是int参数

/**
     * Value of the {@link #DAY_OF_WEEK} field indicating
     * Sunday.
     */
    public final static int SUNDAY = 1;

    /**
     * Value of the {@link #DAY_OF_WEEK} field indicating
     * Monday.
     */
    public final static int MONDAY = 2;
    


Calendar.MONDAY是常量2


获取日期所属年份

直接使用Date.getYear()方法会导致获取到一个三位数,而且该方法已经被废弃,推荐使用calendar

Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
String year = String.valueOf(calendar.get(Calendar.YEAR));


你可能感兴趣的:(Java)