Here you can find the source of getMonthEndDay(String time)
@SuppressWarnings("deprecation") public static String getMonthEndDay(String time)
//package com.java2s; //License from project: Apache License import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class Main { @SuppressWarnings("deprecation") public static String getMonthEndDay(String time) { String ntime = ""; try {/* w w w . jav a2 s . c om*/ SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Date startDate = df.parse(time); int nowMonth = startDate.getMonth() + 1; int nextMonth = nowMonth + 1; int nowYear = startDate.getYear() + 1900; String nextTime = nowYear + "-" + nextMonth + "-1"; Date tmpDate = df.parse(nextTime); Date endDate = new Date(tmpDate.getTime() - 24 * 3600 * 1000); ntime = endDate.getYear() + 1900 + "-" + (endDate.getMonth() + 1) + "-" + endDate.getDate(); } catch (Exception e) { //System.out.println(e); } return ntime; } public static String getYear() { return getDateString("yyyy"); } public static Date getTime() { try { return getDate("yyyy-MM-dd HH:mm:ss"); } catch (ParseException e) { e.printStackTrace(); } return null; } public static Date getDate() { try { return getDate("yyyy-MM-dd"); } catch (ParseException e) { e.printStackTrace(); } return null; } public static Date getDate(String format) throws ParseException { SimpleDateFormat df = new SimpleDateFormat(format); Date date = new Date(System.currentTimeMillis()); return convertStringToDate(df.format(date), format); } public static String getDateString() { return getDateString("yyyy-MM-dd"); } public static String getDateString(int after) { return addDay(getDateString("yyyy-MM-dd"), after); } public static String getDateString(String format) { SimpleDateFormat df = new SimpleDateFormat(format); Date date = new Date(System.currentTimeMillis()); String dateStr = df.format(date); return dateStr; } public static Date convertStringToDate(String time, String format) throws ParseException { if (format == null) { format = "yyyy-MM-dd"; } SimpleDateFormat sdf = new SimpleDateFormat(format); return sdf.parse(time); } public static String addDay(String beginDateStr, int adddaycount) { java.text.SimpleDateFormat format = new java.text.SimpleDateFormat( "yyyy-MM-dd"); try { Date beginDate = format.parse(beginDateStr); Calendar cal = Calendar.getInstance(); cal.setTime(beginDate); cal.add(Calendar.DATE, adddaycount); Date enddate = cal.getTime(); return format.format(enddate); } catch (ParseException e) { e.printStackTrace(); } return null; } public static Date addDay(Date beginDate, int addcount) { Calendar cal = Calendar.getInstance(); cal.setTime(beginDate); cal.add(Calendar.DAY_OF_YEAR, addcount); Date enddate = cal.getTime(); return enddate; } }