java 获取当前年份、月份以及当月第一天和最后一天:
package com.bsoft.test; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class CalendarTest { public static void main(String[] args) { //1、 获取当前年份、月份、日期 Calendar cale = null; cale = Calendar.getInstance(); int year = cale.get(Calendar.YEAR); int month = cale.get(Calendar.MONTH) + 1; int day = cale.get(Calendar.DATE); int hour = cale.get(Calendar.HOUR_OF_DAY); int minute = cale.get(Calendar.MINUTE); int second = cale.get(Calendar.SECOND); int dow = cale.get(Calendar.DAY_OF_WEEK); int dom = cale.get(Calendar.DAY_OF_MONTH); int doy = cale.get(Calendar.DAY_OF_YEAR); System.out.println("Current Date: " + cale.getTime()); System.out.println("Year: " + year); System.out.println("Month: " + month); System.out.println("Day: " + day); System.out.println("Hour: " + hour); System.out.println("Minute: " + minute); System.out.println("Second: " + second); System.out.println("Day of Week: " + dow); System.out.println("Day of Month: " + dom); System.out.println("Day of Year: " + doy); // 2、获取前月第一天和最后一天 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); String firstday, lastday; // 获取前月的第一天 cale = Calendar.getInstance(); cale.add(Calendar.MONTH, 0); cale.set(Calendar.DAY_OF_MONTH, 1); firstday = format.format(cale.getTime()); // 获取前月的最后一天 cale = Calendar.getInstance(); cale.add(Calendar.MONTH, 1); cale.set(Calendar.DAY_OF_MONTH, 0); lastday = format.format(cale.getTime()); System.out.println("前月第一天和最后一天分别是 : " + firstday + " and " + lastday); // 获取当前日期字符串 Date d = new Date(); System.out.println("当前日期字符串1:" + format.format(d)); System.out.println("当前日期字符串2:" + year + "/" + month + "/" + day + " " + hour + ":" + minute + ":" + second); //3、获取指定年月份的第一天和最后一天 int year = 2014; int month = 5; Calendar cal = Calendar.getInstance(); // 不加下面2行,就是取当前时间前一个月的第一天及最后一天 cal.set(Calendar.YEAR,year); cal.set(Calendar.MONTH, month); cal.set(Calendar.DAY_OF_MONTH, 1); cal.add(Calendar.DAY_OF_MONTH, -1); Date lastDate = cal.getTime(); System.out.println(format.format(lastDate)); cal.set(Calendar.DAY_OF_MONTH, 1); Date firstDate = cal.getTime(); System.out.println(format.format(firstDate)); } }
相关推荐
在Java开发中,获取当前月份的第一天和最后一天是一个常见的需求,尤其是在处理日期相关的业务逻辑时,如统计月度数据、生成月度报告等场景。本文将深入解析如何利用Java中的`Calendar`类和`SimpleDateFormat`类来...
在Java中,获取本周的第一天和最后一天主要依赖于`Calendar`类的设置。例如,假设我们希望以星期一作为每周的第一天: ```java Calendar c = new GregorianCalendar(); c.setFirstDayOfWeek(Calendar.MONDAY); // ...
3. **日期和时间处理**:在接收到有效的年份和月份后,程序需要转换这些数据为计算机可理解的日期格式,并计算出当月的第一天和最后一天。 4. **月历生成算法**:根据计算出的月份起始日期,程序利用日历算法填充每...
除了获取天数,还可以创建该月份的第一天和最后一天的日期对象。这在处理日期范围或者事件调度时非常有用。 6. **性能优化**: 对于大量数据处理,可以预先计算好一年所有月份的天数并存储,然后直接查询,提高...
#### 获取上月第一天和最后一天 ```java public String getPreviousMonthFirst() { Calendar cal = Calendar.getInstance(); cal.add(Calendar.MONTH, -1); cal.set(Calendar.DAY_OF_MONTH, 1); return ...
首先,找到该月的第一天和最后一天,然后逐行打印日期。如果日期与当前行的第一个日期在同一周,就继续在同一行打印;否则,开始新的一行。这涉及到对`DayOfWeek`的比较,以及适当的换行逻辑。 4. **格式化输出**:...
// 省略具体实现,包括计算第一天和最后一天,以及循环打印日历 } } ``` `CalendarPrint`类中的`printMonth`方法是打印日历的核心,需要完成根据`calendar`对象生成当月日历的逻辑。 5. **注意事项**: - 考虑...