根据当前日期获得所在周的日期区间(周一和周日日期),一个月有多少天
2016-12-13 14:07
393 查看
/** * 根据当前日期获得所在周的日期区间(周一和周日日期) * * @return * @author liuyifeng * @throws ParseException */ public static String[] getTimeInterval(String date) throws ParseException { SimpleDateFormat simpleDateFormat = DateTools.getSimpleDateFormat(); simpleDateFormat.applyPattern("yyyy-MM-dd"); Date parse = simpleDateFormat.parse(date); Calendar cal = Calendar.getInstance(); cal.setTime(parse); // 判断要计算的日期是否是周日,如果是则减一天计算周六的,否则会出问题,计算到下一周去了 int dayWeek = cal.get(Calendar.DAY_OF_WEEK);// 获得当前日期是一个星期的第几天 if (1 == dayWeek) { cal.add(Calendar.DAY_OF_MONTH, -1); } // System.out.println("要计算日期为:" + sdf.format(cal.getTime())); // 输出要计算日期 // 设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一 cal.setFirstDayOfWeek(Calendar.MONDAY); // 获得当前日期是一个星期的第几天 int day = cal.get(Calendar.DAY_OF_WEEK); // 根据日历的规则,给当前日期减去星期几与一个星期第一天的差值 cal.add(Calendar.DATE, cal.getFirstDayOfWeek() - day - 1); String imptimeBegin = DateTools.getSimpleDateFormat().format( cal.getTime()); System.out.println("所在周星期一的日期:" + imptimeBegin); cal.add(Calendar.DATE, 7); String imptimeEnd = DateTools.getSimpleDateFormat().format( cal.getTime()); System.out.println("所在周星期日的日期:" + imptimeEnd); return (imptimeBegin + "," + imptimeEnd).split(","); }
/** * UtilsMethod 获取一个月有多少天 * * @throws ParseException */ public static int getMonthDays(String date) throws ParseException { SimpleDateFormat simpleDateFormat = DateTools.getSimpleDateFormat(); simpleDateFormat.applyPattern("yyyy-MM-dd"); Date parse = simpleDateFormat.parse(date); Calendar cal = Calendar.getInstance(); cal.setTime(parse); // 设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一 int maximum = cal.getActualMaximum(Calendar.DATE); return maximum; // System.out.println(maximum); }
/** * 某根据具体日期获取当月第一天和最后一天 * * @param date * @return * @throws ParseException */ private static Map<String, String> getFirstday_Lastday_Month(String date) throws ParseException { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Calendar calendar = Calendar.getInstance(); calendar.setTime(df.parse(date)); // calendar.add(Calendar.MONTH, -1); Date theDate = calendar.getTime(); // 上个月第一天 GregorianCalendar gcLast = (GregorianCalendar) Calendar.getInstance(); gcLast.setTime(theDate); gcLast.set(Calendar.DAY_OF_MONTH, 1); String day_first = df.format(gcLast.getTime()); StringBuffer str = new StringBuffer().append(day_first); day_first = str.toString(); System.out.println(day_first); // 上个月最后一天 calendar.add(Calendar.MONTH, 1); // 加一个月 calendar.set(Calendar.DATE, 1); // 设置为该月第一天 calendar.add(Calendar.DATE, -1); // 再减一天即为上个月最后一天 String day_last = df.format(calendar.getTime()); StringBuffer endStr = new StringBuffer().append(day_last); day_last = endStr.toString(); System.out.println(day_last); Map<String, String> map = new HashMap<String, String>(); map.put("first", day_first); map.put("last", day_last); return map; }
相关文章推荐
- 根据当前传入日期计算该日期所在星期的周一和周日
- 根据当前日期,获得本周的周一及周日日期即本周的开始时间和结束时间
- mysql 获取当前日期 所在周的周一和周日
- Java 根据指定日期计算所在周的周一和周日
- asp.net 根据当前时间获取本周、上周、下周的周一、周日日期
- Java 根据指定日期计算所在周的周一和周日
- JS根据传入日期算出当前周一到周日的日期数组
- java获取当前时间所在一周的周一和周日日期
- 根据某一固定日期获取 该日期所在年度的周,该日期所在周 周一和周日的 具体日期
- java获取当前时间所在一周的周一和周日日期
- java 根据年 月 获取当前月每周日期区间
- T-SQL2Tips:1.计算任意两日期之间的&quot;周一&quot;到&quot;周日&quot;分别各有几个!2.根据出生..
- Mysql获得当前日期的所在月的第一天
- T-SQL 2 Tips: 1.计算任意两日期之间的"周一"到"周日"分别各有几个! 2.根据出生日期计算精确年龄!
- mysql 取当前日期对应的周一或周日
- SQL方法~获取给定时间所在周一至周日的日期范围
- java 根据当前日期获取本周或上周日期区间
- jquery 获得星期几-根据当前日期判断是星期几
- 【转】取当前日期的这一周的周一或周日的日期
- T-SQL 2 Tips: 1.计算任意两日期之间的"周一"到"周日"分别各有几个! 2.根据出生日期计算精确年龄!