java 获取周次_java-如何获取当年的总周数?

使用下面的代码

Calendar mCalendar = new GregorianCalendar();

mCalendar.set(Calendar.YEAR, 2014); // Set only year

mCalendar.set(Calendar.MONTH, Calendar.DECEMBER); // Don't change

mCalendar.set(Calendar.DAY_OF_MONTH, 31); // Don't change

int totalWeeks = mCalendar.get(Calendar.WEEK_OF_YEAR);

不必理会每月的30、28和29天.一年的最后一天(每年)始终是12月31日.因此,您需要设置这一天.而mCalendar.get(Calendar.WEEK_OF_YEAR)将返回该年的总周数.

动态更新

private int getTotalWeeksInYear(int year) {

Calendar mCalendar = new GregorianCalendar();

mCalendar.set(Calendar.YEAR, year); // Set only year

mCalendar.set(Calendar.MONTH, Calendar.DECEMBER); // Don't change

mCalendar.set(Calendar.DAY_OF_MONTH, 31); // Don't change

return mCalendar.get(Calendar.WEEK_OF_YEAR);

}

// Call as

int totalWeeks = getTotalWeeksInYear(2014);

在上面的代码中寻找错误.到时候您可以使用正常工作的以下代码

private int getTotalWeeksInYear(int year) {

Calendar mCalendar = new GregorianCalendar(TimeZone.getDefault());

mCalendar.setFirstDayOfWeek(Calendar.MONDAY);

// Workaround

mCalendar.set(year,

Calendar.DECEMBER,

31);

int totalDaysInYear = mCalendar.get(Calendar.DAY_OF_YEAR);

System.out.println(totalDaysInYear);

int totalWeeks = totalDaysInYear / 7;

return totalWeeks;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值