java 知道月份怎么获取第一天 最后一天

Python046

java 知道月份怎么获取第一天 最后一天,第1张

import java.text.SimpleDateFormat

import java.util.Calendar

public class Test {

/**

* 获取某月的最后一天

* @Title:getLastDayOfMonth

* @Description:

* @param:@param year

* @param:@param month

* @param:@return

* @return:String

* @throws

*/

public static String getLastDayOfMonth(int year,int month) {

Calendar cal = Calendar.getInstance()

//设置年份

cal.set(Calendar.YEAR,year)

//设置月份

cal.set(Calendar.MONTH, month-1)

//获取某月最大天数

int lastDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH)

//设置日历中月份的最大天数

cal.set(Calendar.DAY_OF_MONTH, lastDay)

//格式化日期

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd")

String lastDayOfMonth = sdf.format(cal.getTime())

return lastDayOfMonth

}

/**

* 获取这个月的最后一天

* @Title:getLastDayOfCurrentMonth

* @Description:

* @param:@param year

* @param:@param month

* @param:@return

* @return:String

* @throws

*/

public static String getLastDayOfCurrentMonth() {

Calendar cal = Calendar.getInstance()

//获取某月最大天数

int lastDay = cal.getActualMinimum(Calendar.DAY_OF_MONTH)

//设置日历中月份的最大天数

cal.set(Calendar.DAY_OF_MONTH, lastDay)

//格式化日期

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd")

String lastDayOfMonth = sdf.format(cal.getTime())

return lastDayOfMonth

}

/**

* 获取某月的第一天

* @Title:getLastDayOfMonth

* @Description:

* @param:@param year

* @param:@param month

* @param:@return

* @return:String

* @throws

*/

public static String getFirstDayOfMonth(int year,int month) {

Calendar cal = Calendar.getInstance()

//设置年份

cal.set(Calendar.YEAR,year)

//设置月份

cal.set(Calendar.MONTH, month-1)

//获取某月最大天数

int lastDay = cal.getActualMinimum(Calendar.DAY_OF_MONTH)

//设置日历中月份的最大天数

cal.set(Calendar.DAY_OF_MONTH, lastDay)

//格式化日期

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd")

String lastDayOfMonth = sdf.format(cal.getTime())

return lastDayOfMonth

}

/**

* 获取这个月的第一天

* @Title:getFirstDayOfCurrentMonth

* @Description:

* @param:@param year

* @param:@param month

* @param:@return

* @return:String

* @throws

*/

public static String getFirstDayOfCurrentMonth() {

Calendar cal = Calendar.getInstance()

//获取某月最大天数

int lastDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH)

//设置日历中月份的最大天数

cal.set(Calendar.DAY_OF_MONTH, lastDay)

//格式化日期

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd")

String lastDayOfMonth = sdf.format(cal.getTime())

return lastDayOfMonth

}

/**

* @Title:main

* @Description:

* @param:@param args

* @return: void

* @throws

*/

public static void main(String[] args) 

{

String lastDay = getLastDayOfMonth(2014,2)

System.out.println("获取2014年2月的最后一天:" + lastDay)

String currentLDay= getLastDayOfCurrentMonth()

System.out.println("获取本月的最后一天:" + currentLDay)

String firstDay = getFirstDayOfMonth(2014,2)

System.out.println("获取2014年2月的第一天:" + firstDay)

String currentFDay= getFirstDayOfCurrentMonth()

System.out.println("获取本月的第一天:" + currentFDay)

}

}

传上来的代码真难看,不知道怎么发文件,我给你截一张图

getLeastMaximum

public abstract int getLeastMaximum(int field)

返回此 Calendar 实例给定日历字段的最低的最大值。最低的最大值被定义为 getActualMaximum(int)

方法为任何可能时间值返回的最小值。最低的最大值取决于日历系统实例的特定参数。例如,对于格里高利历系统,Calendar 将为

DAY_OF_MONTH 字段返回 28,因为第 28 天是该日历最短那个月的最后一天,即普通年的二月。

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd") 

//获取前月的第一天

Calendar   cal_1=Calendar.getInstance()//获取当前日期 

cal_1.add(Calendar.MONTH, -1)

cal_1.set(Calendar.DAY_OF_MONTH,1)//设置为1号,当前日期既为本月第一天 

firstDay = format.format(cal_1.getTime())

System.out.println("-----1------firstDay:"+firstDay)

//获取前月的最后一天

Calendar cale = Calendar.getInstance()   

cale.set(Calendar.DAY_OF_MONTH,0)//设置为1号,当前日期既为本月第一天 

lastDay = format.format(cale.getTime())

System.out.println("-----2------lastDay:"+lastDay)

//获取当前月第一天:

Calendar c = Calendar.getInstance()    

c.add(Calendar.MONTH, 0)

c.set(Calendar.DAY_OF_MONTH,1)//设置为1号,当前日期既为本月第一天 

String first = format.format(c.getTime())

System.out.println("===============first:"+first)

//获取当前月最后一天

Calendar ca = Calendar.getInstance()    

ca.set(Calendar.DAY_OF_MONTH, ca.getActualMaximum(Calendar.DAY_OF_MONTH))  

String last = format.format(ca.getTime())

System.out.println("===============last:"+last)