/** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub java.util.Date currence=new java.util.Date(System.currentTimeMillis()); System.out.println(currence.getTime()); java.sql.Date sql=new java.sql.Date(currence.getTime()); System.out.println(sql); DateTest dt=new DateTest(); System.out.println("first day of month===>"+dt.getMonthFirstDay(sql)); System.out.println("first day of year===>"+dt.getYearFirstDay(sql)); System.out.println("first day of season===>"+dt.getSeasonFirstDay(sql)); System.out.println("is end day of month===>"+dt.isMonthEnd(sql)); System.out.println("first day of halfyear===>"+dt.getHalfYearFirstDay(sql)); } public Date getSeasonFirstDay(Date date){ Calendar c=Calendar.getInstance(); c.setTime(date); int year=c.get(Calendar.YEAR); int month=c.get(Calendar.MONTH); // c.set(Calendar.YEAR, year); c.set(Calendar.DAY_OF_MONTH,1); if(0<=month && month<3){ c.set(Calendar.MONTH,Calendar.JANUARY); }else if(3<=month && month<6){ c.set(Calendar.MONTH,Calendar.APRIL); }else if(6<=month && month<9){ c.set(Calendar.MONTH,Calendar.JULY); }else{ c.set(Calendar.MONTH,Calendar.OCTOBER); } return new Date(c.getTime().getTime()); } public static Date getMonthFirstDay(Date date) { Calendar c = Calendar.getInstance(); c.setTime(date); c.set(Calendar.MONTH,c.get(Calendar.MONTH)-1); c.set(Calendar.DAY_OF_MONTH, 1); return new Date(c.getTime().getTime()); }
/** * 得到日期的年份的第一天(如:param 2008-02-23 return 2008-01-01) * @param date * @return */ public static Date getYearFirstDay(Date date) { Calendar c = Calendar.getInstance(); c.setTime(date); c.set(Calendar.DAY_OF_MONTH, 1); c.set(Calendar.MONTH, 0); return new Date(c.getTime().getTime()); }
public static Date getHalfYearFirstDay(Date date) { Calendar c = Calendar.getInstance(); c.setTime(date); int month=c.get(Calendar.MONTH); if(month<=4){ c.set(Calendar.MONTH,1); }else{ c.set(Calendar.MONTH,5); } c.set(Calendar.DAY_OF_MONTH, 1); return new Date(c.getTime().getTime()); }
public static boolean isMonthEnd(Date date) {
Calendar c = Calendar.getInstance(); c.setTime(date); return c.get(Calendar.DAY_OF_MONTH) == c.getActualMaximum(Calendar.DAY_OF_MONTH);