importjava.util.Calendar;/**
* Created by 一只爱吃萝卜的小兔子 on 2021/11/21 16:07
*/publicclassMain{publicstaticvoidmain(String[] args){//生成当前日期Calendar cal =Calendar.getInstance();show(cal);//add()方法 +N -N
cal.add(Calendar.MONTH,1);
cal.add(Calendar.DAY_OF_MONTH,1);show(cal);System.out.println();String date ="2019-01-09";int year =Integer.parseInt(date.substring(0,4));int month =Integer.parseInt(date.substring(5,7));int day =Integer.parseInt(date.substring(8,10));int[]Mons={31,28,31,30,31,30,31,31,30,31,30,31};int res =0;//set(,);//set(年,月,日);
cal.set(year,2,0);//设置零日 记录的是是上个月的最后一天show(cal);
cal.add(Calendar.DAY_OF_MONTH,1);//下个月的第一天show(cal);}privatestaticvoidshow(Calendar cal){//get()方法获取Calendar实例中的数据System.out.print(cal.get(Calendar.YEAR)+" ");System.out.print(cal.get(Calendar.MONTH)+" ");System.out.println(cal.get(Calendar.DAY_OF_MONTH)+" ");}}
2.Calendar判断闰年否,计算输入日期是那一年第几天
importjava.util.Calendar;importjava.util.Scanner;/**
* Created by 一只爱吃萝卜的小兔子 on 2021/11/21 17:07
*/publicclassMain{publicstaticvoidmain(String[] args){System.out.println("输入格式:2000-01-12");Scanner in =newScanner(System.in);String s = in.nextLine();int day =dayOfYear(s);System.out.println(day);}publicstaticintdayOfYear(String date){//生成当前日期,用于判断是否是闰年Calendar cal =Calendar.getInstance();//得到年月日int year =Integer.parseInt(date.substring(0,4));int month =Integer.parseInt(date.substring(5,7))-1;int day =Integer.parseInt(date.substring(8,10));//非闰年月份天数,从0开始int[]Mons={31,28,31,30,31,30,31,31,30,31,30,31};//记录结果天数int res =0;
cal.set(year,2,0);//设置零日 记录的是year年2月份的最后一天//将本月之前的月份加入结果resfor(int i =0; i < month; i++){
res+=Mons[i];}// 加入当月的天数
res=res+day;if(cal.get(Calendar.DAY_OF_MONTH)!=29){//不是闰年}else{//是闰年if(month>1)//大于二月,被闰年日期影响{
res++;}}return res;}}
Calendar类1.Calendar方法2.Calendar判断闰年否,计算输入日期是今年第几天1.Calendar方法import java.util.Calendar;/** * Created by 一只爱吃萝卜的小兔子 on 2021/11/21 16:07 */public class a7Calendar { public static void main(String[] args) { //生成当前日期 Calendar cal = C