Java中一年有几周、周的计算

一般情况下java中一年有52周。但52周总共只有52*7=364天。我们知道,平年是365天,闰年则是366天,如果一年只有52周的话,就会差1到2天。所以每过几年,就会出现一年有53周。

java中的周计算有个规则,当年的最后几天可能会被算入下一年的第一周

下面我们一起分析一个案例:
计算2017年12月31日是位于当年第几周:

Calendar cal = Calendar.getInstance();
cal.setFirstDayOfWeek(Calendar.MONDAY);
cal.set(Calendar.YEAR, 2017);
cal.set(Calendar.MONTH, 11);// 11表示的是12月
cal.set(Calendar.DATE, 31);
System.out.println(cal.get(Calendar.WEEK_OF_YEAR));// 53

2017年12月31日是位于当年第53周。
需要注意的是,java里面月份是从0开始的(0~11)

再分析2017年1月1日的情况,你会发现2016年的最后6天加上2017年的第一天一起被算入了2017年的第一周

也就是说2017年的53周里面,第一周只有1天,后面52周恰好占满整年剩下的天数,这跟2017年是365天吻合。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:撸撸猫 设计师:马嘣嘣 返回首页
评论 1

打赏作者

liberg

承蒙惠赏,在此多谢~

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值