package com.norteksoft.product.util; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; public class DateUtils { public static String folder="NortekSoft"; /** * 根据给定的 年 和 月 返回 当月的第一天和最后一天 * @param 年,月 * @return String[0]-->当月的第一天,String[1]-->当月的最后一天 */ public static Date getStartAndEnd(String yearandmonth){ try { String str = new String(); str = yearandmonth+"-"+"01"+" "+"00:00:00"; SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date d=format.parse(str); return d; } catch (ParseException e) { e.printStackTrace(); } return null; } public static String getStart(String yearandmonth){ String str = new String(); str = yearandmonth+"-"+"01"; return str; } /** * 根据当月第一天获取当月的最后一天 * @param 当月第一天的日期 * @return 当月最后一天的日期 */ public static Date getLastDay(String beginDate){ try{ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); Date date = format.parse(beginDate); Calendar calendar = new GregorianCalendar(); calendar.setTime(date); calendar.add(Calendar.MONTH,1); calendar.add(Calendar.DAY_OF_YEAR, -1); date = calendar.getTime(); String s=format.format(date); s=s+" "+"23:00:00"; return format.parse(s); }catch(Exception e){ e.printStackTrace(); } return null; } /** * 当前是星期几 * @param calendar * @return */ public static String getWeek(Calendar calendar) { int r=calendar.get(Calendar.DAY_OF_WEEK); switch (r) { case 1: return "星期日"; case 2: return "星期一"; case 3: return "星期二"; case 4: return "星期三"; case 5: return "星期四"; case 6: return "星期五"; case 7: return "星期六"; } return null; } /** * 得到当前天的上午,下午 * @return */ public static Date getDate(Date date,int h,int s,int m){ Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DATE), h, s, m); return cal.getTime(); } /*** * 计算2个日期之间的天数 * @param beginTime * @param endTime * @return 相差的天数 */ public static long getDateMinus(Date beginTime,Date endTime)throws Exception{ long time = (endTime.getTime()-beginTime.getTime())/1000/60/60/24; return time; } /*** * 计算2个日期之间的天数 * @param beginTime * @param endTime * @return 相差的天数 */ public static long getDateMinus(String beginTime,String endTime)throws Exception{ SimpleDateFormat s = new SimpleDateFormat("yyyy-MM-dd"); try { Date begin = s.parse(beginTime); Date end = s.parse(endTime); long time = (end.getTime()-begin.getTime())/1000/60/60/24; return time; } catch (ParseException e) { e.printStackTrace(); } return 0; } }