获取当前日期是本年的第几周java与mysql获取值不一致

SELECT YEARWEEK(now());

在数据库查询出的本年第几周和java中获取的不一样, 研究了下原来是java里有两个关键设置,一个是从周几开始计算周,另外一个是一周最小要过了几天才算一周。

oracle是默认本年的第一天开始计算,就是直接除7,简单粗暴;

java里面就比较精细,java一般默认是周日(根据操作系统时间)作为一周的开始;一周一般过了一天就计入一周;

具体可以设置

		Calendar cal = Calendar.getInstance();
		cal.setFirstDayOfWeek(Calendar.MONDAY);
		cal.setMinimalDaysInFirstWeek(4);
        System.out.println(cal.get(Calendar.WEEK_OF_YEAR)+"/"+cal.getWeeksInWeekYear());

setFirstDayOfWeek()从星期几开始作为一周开始的第一天

setMinimalDaysInFirstWeek() 每年的第一周最少需要几天。如果包含1月1日的那一周在新年中有4天或更多,它就是第1周。否则,它就是上一年的最后一周,而下一周则是第一周。

计算当前日期是本年的第几周_似水流年-CSDN博客

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值