public class Test3 { public static void main(String[] args) { fun01(Calendar.JUNE); }
public static void fun01(int month){ Calendar cal = Calendar.getInstance(); cal.set(Calendar.MONTH, month); cal.set(Calendar.DAY_OF_MONTH, 1); Conica.pl("first day:" + new Date(cal.getTimeInMillis()));
cal.add(Calendar.MONTH, 1); cal.set(Calendar.DAY_OF_MONTH, 0); Conica.pl("last day:" + new Date(cal.getTimeInMillis())); } }输出: first day:Thu Jun 01 21:19:41 CST 2006 last day:Fri Jun 30 21:19:41 CST 2006
能否输出2005-06-31这种格式呢?---------------SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd"); String s = sf.format(new Date()) ;
String day = new Integer(MyDateTime.getYearMonthDate(date.toString(), "Y")).
toString(); int month = MyDateTime.getYearMonthDate(date.toString(), "M");
if (month < 9) {
day = day.substring(0, 4) + "-0" + new Integer(month + 1).toString();
}
else {
day = day.substring(0, 4) + "-" + new Integer(month + 1).toString();
}
day = day + "-01";
java.sql.Date mid_date = null;
mid_date = mid_date.valueOf(day);
return MyDateTime.DateAdd(mid_date, -1).toString();
}
String month;
if (MyDateTime.getYearMonthDate(date.toString(), "M") > 9) {
month = Integer.toString(MyDateTime.getYearMonthDate(date.toString(), "M"));
}
else {
month = "0" +
Integer.toString(MyDateTime.getYearMonthDate(date.toString(), "M"));
}
String day = Integer.toString(MyDateTime.getYearMonthDate(date.toString(),
"Y")) + "-" + month + "-01";
return day;
}
止的话用Calendar+DateFormat,先把当前日期月份+1,再获取x+1月1日,再-1日,就是x月最后一日
fun01(Calendar.JUNE);
}
public static void fun01(int month){
Calendar cal = Calendar.getInstance();
cal.set(Calendar.MONTH, month);
cal.set(Calendar.DAY_OF_MONTH, 1);
Conica.pl("first day:" + new Date(cal.getTimeInMillis()));
cal.add(Calendar.MONTH, 1);
cal.set(Calendar.DAY_OF_MONTH, 0);
Conica.pl("last day:" + new Date(cal.getTimeInMillis()));
}
}输出:
first day:Thu Jun 01 21:19:41 CST 2006
last day:Fri Jun 30 21:19:41 CST 2006
String s = sf.format(new Date()) ;
int nowYear = today.get(Calendar.YEAR);
int nowMonth = today.get(Calendar.MONTH);
Calendar targetFirstDay = Calendar.getInstance();
targetFirstDay.set(nowYear,nowMonth,1);
Calendar targetLastDay = Calendar.getInstance();
targetLastDay.set(nowYear,nowMnoth+1,1;
targetLastDay.add(Calendar.DAY_OF_MONTH,-1);
String lastDayStr = "";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
c.clear();
try{
c.setTime(format.parse(currentDayStr));
}
catch(ParseException e){
e.printStackTrace();
System.out.println("转换字符串时出错,请检查字符串格式yyyy-MM-dd");
return;
}
int currentYear = c.get(Calendar.YEAR);
int currentMonth = c.get(Calendar.MONTH);//此值比实际月份少1
c.set(currentYear,currentMonth,1);//当前月的第一天
firstDayStr = format.format(c.getTime());
c.set(currentYear,currentMonth + 1,0);//让下个月的第一天减一天即上个月的最后一天
lastDayStr = format.format(c.getTime());
System.out.println("firstDatStr: " +firstDayStr + ";lastDayStr: " + lastDayStr);//test
}