java 根据传入的时间获取当前月的第一天的0点0分0秒和最后一天的23点59分59秒
/** * 获取指定日期所在月份开始的时间 * lkeji * @return */ public static String getMonthBegin(String specifiedDay) { Date data = null; try { data = new SimpleDateFormat("yyyy-MM-dd").parse(specifiedDay); } catch (ParseException e) { e.printStackTrace(); } Calendar c = Calendar.getInstance(); c.setTime(data); //设置为1号,当前日期既为本月第一天 c.set(Calendar.DAY_OF_MONTH, 1); //将小时至0 c.set(Calendar.HOUR_OF_DAY, 0); //将分钟至0 c.set(Calendar.MINUTE, 0); //将秒至0 c.set(Calendar.SECOND,0); //将毫秒至0 c.set(Calendar.MILLISECOND, 0); // 本月第一天的时间戳转换为字符串 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date; try { date = sdf.parse(sdf.format(new Date(new Long(c.getTimeInMillis())))); //Date date = sdf.parse(sdf.format(new Long(s)));// 等价于 return sdf.format(date); } catch (NumberFormatException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } catch (ParseException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } return null; } /** * 获取指定日期所在月份结束的时间 * @return */ public static String getMonthEnd(String specifiedDay) { Date data = null; try { data = new SimpleDateFormat("yyyy-MM-dd").parse(specifiedDay); } catch (ParseException e) { e.printStackTrace(); } Calendar c = Calendar.getInstance(); c.setTime(data); //设置为当月最后一天 c.set(Calendar.DAY_OF_MONTH, c.getActualMaximum(Calendar.DAY_OF_MONTH)); //将小时至23 c.set(Calendar.HOUR_OF_DAY, 23); //将分钟至59 c.set(Calendar.MINUTE, 59); //将秒至59 c.set(Calendar.SECOND, 59); //将毫秒至999 c.set(Calendar.MILLISECOND, 999); // 本月第一天的时间戳转换为字符串 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date; try { date = sdf.parse(sdf.format(new Date(new Long(c.getTimeInMillis())))); //Date date = sdf.parse(sdf.format(new Long(s)));// 等价于 return sdf.format(date); } catch (NumberFormatException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } catch (ParseException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } return null; }