Calendar日历对象常用API

来源:互联网 发布:ubuntu开机grub命令行 编辑:程序博客网 时间:2024/06/14 10:06

1、通过Calendar对象实现获取上个月第一天与上个月第二天

//创建日历对象Calendar calendar = Calendar.getInstance();DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//初始化日历时间为当前时间calendar.setTime(new Date());//设置月份为当前月份减一calendar.add(Calendar.MONTH, -1);//设置天数为月份的第一天calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));//设置小时为天数的第一个小时calendar.set(Calendar.HOUR_OF_DAY, calendar.getActualMinimum(Calendar.HOUR_OF_DAY));//设置分钟为当前小时的第一分钟calendar.set(Calendar.MINUTE, calendar.getActualMinimum(Calendar.MINUTE));//设置秒数为当前分钟的第一秒calendar.set(Calendar.SECOND, calendar.getActualMinimum(Calendar.SECOND));String begin = df.format(calendar.getTime());//设置天数为月份的最后一天calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));//设置小时为天数的最后一个小时calendar.set(Calendar.HOUR_OF_DAY, calendar.getActualMaximum(Calendar.HOUR_OF_DAY));                                //设置分钟为当前小时的最后一分钟calendar.set(Calendar.MINUTE, calendar.getActualMaximum(Calendar.MINUTE));//设置秒数为当前分钟的最后一秒calendar.set(Calendar.SECOND, calendar.getActualMaximum(Calendar.SECOND));String end = df.format(calendar.getTime());System.out.println(begin)

2、获取指定时间下的自然周与自然月

/** * 获取指定时间下的自然周 自然月 * @param time 指定时间 * @param type 时间周期类型 周 月 * @return */public List<String> getTimeList(String time,String type) {List<String> results = new ArrayList<String>(2);try {//获取日历对象 并赋初始值Calendar calendar = Calendar.getInstance();DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");Date date = dateFormat.parse(time);calendar.setTime(date);//判断时间周期类型if("week".equals(type)) {//获取当前时间的星期  星期六 7 星期日 1int week = calendar.get(Calendar.DAY_OF_WEEK);if(week == 1) {//选择的时间为星期日calendar.set(Calendar.DATE,calendar.get(Calendar.DATE)-6);}else {calendar.set(Calendar.DATE,calendar.get(Calendar.DATE)-week+2);}//获取当前自然周 周一String monday = dateFormat.format(calendar.getTime());//获取当前自然周 周末calendar.set(Calendar.DATE,calendar.get(Calendar.DATE)+6);String sunday = dateFormat.format(calendar.getTime());results.add(monday);results.add(sunday);} else if("month".equals(type)){//获取当前月的月初与月末calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));String lastTime = dateFormat.format(calendar.getTime());calendar.set(Calendar.DAY_OF_MONTH,calendar.getActualMinimum(Calendar.DAY_OF_MONTH));String firstTime = dateFormat.format(calendar.getTime());results.add(firstTime);results.add(lastTime);}} catch (Exception e) {logger.error("日期转换错误");}return results;}


原创粉丝点击