当前月的第一天和最后一天
程序员文章站
2024-02-25 21:27:15
...
这次做一个系统,用到了根据日期查询,设置了一个默认的起始时间和一个默认的结束时间。起始时间设置的是当前月的第一天,结束时间是当前月的最后一天。
补充一点:
考虑到这样只能得到当前月的第一天和最后一天,不是很灵活。我由设计了两个方法,可以输入年份和月份,得到你想要的那月的第一天和最后一天。
Calendar cal = Calendar.getInstance(); //当前月的1号 int minDayNum = cal.getActualMinimum(Calendar.DATE); //当前月最大的天数 int maxDayNum = cal.getActualMaximum(Calendar.DATE); cal.set(Calendar.DATE, minDayNum); //当前月的1号 Date minDay = cal.getTime(); System.err.println(DateFormat.getDateInstance().format(minDay)); cal.set(Calendar.DATE, maxDayNum); //当前月的最大的那一天 Date maxDay = cal.getTime(); System.err.println(DateFormat.getDateInstance().format(maxDay));
补充一点:
考虑到这样只能得到当前月的第一天和最后一天,不是很灵活。我由设计了两个方法,可以输入年份和月份,得到你想要的那月的第一天和最后一天。
/** * * @param year 年份 * @param month 月份 * @return 这个月的1号 */ private static Date getFirstMonthDay(int year,int month) { Calendar cal = Calendar.getInstance(); //1号。这里要注意:month要减去1 cal.set(year, month-1, 1); return cal.getTime(); } /** * * @param year 年份 * @param month 月份 * @return 这个月的最后一天 */ private static Date getLastMonthDay(int year,int month) { Calendar cal = Calendar.getInstance(); cal.set(year, month-1, 1); //该月的最大的天数 int maxDayNo = cal.getActualMaximum(Calendar.DATE); cal.set(Calendar.DATE, maxDayNo); return cal.getTime(); }