java calendar 日期差_Java Calendar 两个日期之间的天数差,周数差

本文通过示例详细介绍了如何使用Java Calendar计算两个日期之间的天数差和周数差,包括设置第一周的起始日和最小天数,并提供了一种计算跨年月份的周数的方法。
摘要由CSDN通过智能技术生成

setFirstDayOfWeek的方法意思只对WEEK_OF_MONTH 与WEEK_OF_YEAR 有作用.

WEEK_OF_MONTH :当前Calendar日期对象是当前月的第几周.

WEEK_OF_YEAR :当前Calendar 日期对象是当前年的第几周.

程序是2009年1月31号为例子的.打印出当星期的第一天(FirstDayOfWeek)是星期天-星期六,年或月第一星期最少天数(MinimalDaysInFirstWeek)是1-7的所有组合的结果,也就是49个.

当setFirstDayOfWeek(1),星期第一天是星期天时.

1号前面的天数不算在第一周里面,如果是从星期天开始的,那么星期的最后一天是星期六.第一周只有3天.

第二周4号到10号.

第三周11号到17号.

第四周18号到24号.

第五周为25到31号.

如果设置setMinimalDaysInFirstWeek ()为1-3,那么2009年1月31号是这第月的第五周.

如果设置setMinimalDaysInFirstWeek ()为4-7,那么2009年1月31号是这第月的第四周,因为第一周不满4天,那就更加不满七天了.

相信大家都明白setFirstDayOfWeek方法的作用了吧.按照这样的算法,一个月可以算出6周来.比如一个月的1号为星期5,那么31号为星期日.setFirstDayOfWeek()为1,也就是一周从星期天开始,setMinimalDaysInFirstWeek 为1,也是就一天也算是1周.这样一个月六周就出来了.

public static void main(String[] args) {

Calendar cale = new GregorianCalendar(2020, 0, 4);

System.out.println(cale.getTime().toLocaleString());

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值