日历类Calendar
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();
Calendar calendar = new GregorianCalendar();
calendar.setTime(date);
//获得本月第一天
calendar.add(Calendar.MONTH, 0);
calendar.set(Calendar.DAY_OF_MONTH, 1);
String firstDay = sdf.format(calendar.getTime());
System.out.println("firstDay:"+ firstDay);
//获得本月最后一天
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
String lastDay = sdf.format(calendar.getTime());
System.out.println("lastDay"+lastDay);
1.使用get()方法获取时间
Calendar cal=Calendar.getInstance();
cal.get(Calendar.YEAR);//获取当前年份
cal.get(Calendar.MONTH) + 1; //获取当前月份,需要+1
cal.get(Calendar.DATE);//获取当前天数,
cal.getActualMaximum(Calendar.DATE);//当前月最大天数
cal.getActualMinimum(Calendar.DATE);//当前月最小天数
cal.get(Calendar.HOUR_OF_DAY);//获取当前处于一天中的第几个小时,
cal.get(Calendar.MINUTE);//获取当前分钟数
cal.get(Calendar.SECOND);//获取当前秒数
cal.get(Calendar.DAY_OF_WEEK);//星期(Locale.ENGLISH情况下,周日是1,周一2,周二3,周三4,周四5,周五6,周六7)
//如果需要将获得到的时间格式化输出,则需要使用SimpleDateFormart 模式为yyyy-MM-dd HH:mm:ss
SimpleDateFormat sdf= new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
Date date=cal.getTime();
System.out.println(“格式化时间:”+sdf.format(date));
2.使用set()方法来进行设置指定时间
Calendar cal=Calendar.getInstance();
cal.set(2022, 3, 3, 13, 44, 51);//年月日时分秒(月份0代表1月)
cal.set(Calendar.YEAR, 2022);//年
cal.set(Calendar.MONTH, 7);//月(月份0代表1月)
cal.set(Calendar.DATE, 11);//日
cal.set(Calendar.HOUR_OF_DAY, 15);//时
cal.set(Calendar.MINUTE, 3);//分
cal.set(Calendar.SECOND, 32);//秒
设置时间之后用getTime()得到时间 例如:
SimpleDateFormat format1 = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
System.out.println(“设置指定时间:”+format1.format(cal.getTime()) );
3.使用add()方法对时间进行运算
Calendar cal=Calendar.getInstance();
cal.add(Calendar.YEAR, 1);//给当前年份加1年,-1就是减一年
cal.add(Calendar.MONTH, 1);//给当前月加1月
cal.add(Calendar.DATE, 1);//当前时间+1
cal.add(Calendar.HOUR_OF_DAY, -1);//当前小时-1
cal.add(Calendar.MINUTE, 1);//分
cal.add(Calendar.SECOND, 1);//秒
cal.add(Calendar.DATE, 7);//周