Calendar日期的计算
来源:互联网 发布:js异步加载 编辑:程序博客网 时间:2024/04/27 23:58
一,得到三月内的周六,周日
Calendar calendar=Calendar.getInstance();//当前日期 Calendar calendar2=Calendar.getInstance(); int curYear = calendar2.get(Calendar.YEAR); // 得到系统年份 int curMonth = calendar2.get(Calendar.MONTH); // 得到系统月份 int curDay=calendar2.get(Calendar.DAY_OF_MONTH); Calendar nowyear=Calendar.getInstance(); nowyear.set(curYear,curMonth, curDay);//将开始日期设置为当天,如7月17日 Calendar nexty=Calendar.getInstance(); calendar2.add(Calendar.MONTH,4); nexty.set(calendar2.get(Calendar.YEAR),calendar2.get(Calendar.MONTH), 1);//将结束时间设置为三个月后的第一天,如10月1日 calendar.add(Calendar.DAY_OF_MONTH, -calendar.get(Calendar.DAY_OF_WEEK));//周六 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); /** 初始化周六的日期*/ calendar.add(Calendar.DAY_OF_MONTH, -calendar.get(Calendar.DAY_OF_WEEK));//周六 Calendar SaturdayC=(Calendar) calendar.clone(); for(;SaturdayC.before(nexty);SaturdayC.add(Calendar.DAY_OF_YEAR,7)){ if(SaturdayC.after(nowyear)){ Date date = sdf.parse(SaturdayC.get(Calendar.YEAR)+"-"+(1+SaturdayC.get(Calendar.MONTH))+"-"+SaturdayC.get(Calendar.DATE)); String time=sdf.format(date); SaturdayList.add(time); } } /** 初始化周日的日期*/ calendar.add(Calendar.DAY_OF_MONTH,-calendar.get(Calendar.DAY_OF_WEEK)+1);//周日 Calendar SundayC=(Calendar) calendar.clone(); for(;SundayC.before(nexty);SundayC.add(Calendar.DAY_OF_YEAR,7)){ if(SundayC.after(nowyear)){ Date date = sdf.parse(SundayC.get(Calendar.YEAR)+"-"+(1+SundayC.get(Calendar.MONTH))+"-"+SundayC.get(Calendar.DATE)); String time=sdf.format(date); SundayList.add(time); } }
二,得到三个月内的工作日
/** * 得到三个月末的最后一天 */Calendar cal = Calendar.getInstance(); // 不加下面2行,就是取当前时间前一个月的第一天及最后一天cal.set(Calendar.YEAR,curYear);cal.set(Calendar.MONTH,curMonth+2);cal.set(Calendar.DAY_OF_MONTH, 1);cal.add(Calendar.DAY_OF_MONTH, -1);Date lastDate = cal.getTime();String start =curYear+"-"+curMonth+"-"+curDay;SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Date dBegin = null ;try {dBegin = sdf.parse(start);} catch (ParseException e) {e.printStackTrace();} WorkdayList.add(sdf.format(dBegin)); Calendar calBegin = Calendar.getInstance(); // 使用给定的 Date 设置此 Calendar 的时间 calBegin.setTime(dBegin); Calendar calEnd = Calendar.getInstance(); // 使用给定的 Date 设置此 Calendar 的时间 calEnd.setTime(lastDate); // 测试此日期是否在指定日期之后 while (lastDate.after(calBegin.getTime())){ // 根据日历的规则,为给定的日历字段添加或减去指定的时间量 calBegin.add(Calendar.DAY_OF_MONTH, 1); WorkdayList.add(sdf.format(calBegin.getTime())); } WorkdayList.removeAll(SaturdayList); WorkdayList.removeAll(SundayList);
三、日期间的比较大小
date1.after(date2)date1.before(date2)
四、Calendar中add() 与set()的区别
add()是移位,set()是设置
1 0
- Calendar日期的计算
- Calendar:计算两个日期相差的天数
- POJ 2080 Calendar 日期计算
- java日期计算(Calendar类)
- Java日期计算(Calendar类)
- calendar 计算两个日期之间相隔的天数
- Calendar计算两个日期之间的天数和周数
- Calendar日期的使用
- Calendar GregorianCalendar 计算某年有多少周 、周的开始结束日期、日期的周数
- 输入两个日期,使用Calendar来表示时间,并计算两个日期之间相隔的天数
- 如何计算两个日期之间相隔的天数?calendar的用法
- Calendar关于日期的使用?
- 处理日期的Calendar类
- calendar日期控件的使用
- java日期的加减 Calendar
- 日期时间:Calendar的使用
- Calendar日期的java转换
- Java中用Calendar类计算周和周的起始日期
- 从头开始
- eclipse 打出的jar中包含的spring文件,无法被加载!
- aaa
- IOS使用命令行在模拟器上安装运行app
- 图像分割之(二)Graph Cut(图割)
- Calendar日期的计算
- OpenCV入门_学习笔记_读取、显示、处理图像
- 【廖雪峰】《Python基础》学习笔记
- Hibernate Restrictions QBC运算符
- 编程列表字体。
- 啊嘎嘎嗦嘎
- Oracle读取事件的命名理由
- 导航控制器的应用
- MINA服务端+flash(AS)客户端+嵌入式socket服务端互联互通