Calendar使用

本文详细介绍了如何使用Java的Calendar类获取当前日期、只显示年月日、获取昨天开始和结束日期、本周开始和结束日期,以及进行任意日期加减操作。同时,解释了add()和roll()方法的区别,add()允许跨越月份和年份,而roll()则不会。
摘要由CSDN通过智能技术生成
1、获取当前日期
Calendar cal = Calendar.getInstance();

2、只展示今天年月日
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);

3、昨天开始日期
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
// DAY_OF_WEEK、DAY_OF_MONTH、DAY_OF_YEAR、DATE在add()方法中没有区别,但是在get方法中有区别,毕竟day相应和的条件不同
cal.add(Calendar.DAY_OF_WEEK, -1);

4、昨天结束日期
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);

5、本周开始日期
Calendar cal = Calendar.getInstance();
// 保证星期几的数字就是几
int day_of_week = cal.get(Calendar.DAY_OF_WEEK) - 1;
if (day_of_week == 0) {
    day_of_week = 7;
}
cal.add(Calendar.DATE, -day_of_week + 1);
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);

6、本周结束日期
Calendar cal = Calendar.getInstance();
// 保证星期几的数字就是几
int day_of_week = cal.get(Calendar.DAY_OF_WEEK) - 1;
if (day_of_week == 0) {
    day_of_week = 7;
}
cal.add(Calendar.DATE, 7 - day_of_week + 1);
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);

7、距离今天XXX天的日期
Calendar cal = Calendar.getInstance();
// XXX可以是正数或者负数
cal.add(Calendar.DAY_OF_WEEK, XXX);

8、一周之后的现在
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DAY_OF_WEEK, 7);

9add()roll()的区别
add()可以让时间跨越月份、年份等,而roll()不能跨越月份,更别提年份了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值