利用Calendar求时间的话是一个很好用的类,平常求该年的二月有多少天,一般就是先判断是不是闰年,对吧?这是显得自己很low的啦,我们肯定要写和别人不一样的。
判断闰年的方法:
public static void method_1(){
Scanner input = new Scanner(System.in);
System.out.println("请输入年份:");
//从键盘上获取年份
int year = input.nextInt();
//判断是不是闰年
if((year%4==0&&year%100!=0) || year % 400 == 0){
System.out.println("29");
}else{
System.out.println("28");
}
}
利用Calendar来求二月的天数:
public static void method_3(){
//创建Calendar对象
Calendar c = Calendar.getInstance();
Scanner input = new Scanner(System.in);
System.out.println("请输入年份:");
//从键盘上获取年份
int year = input.nextInt();
//设置时间 2代表三月 1代表1日
c.set(year, 2, 1);
//把天数减一天就是2月的最后天数啦
c.add(Calendar.DAY_OF_MONTH, -1);
//输出该月的天数
System.out.println(c.get(Calendar.DAY_OF_MONTH));
}
这样的显得我们水平的不一样嘛,利用calendar求这天是该年的第几天,也是比较方便的。通用的方法就是判断是不是闰年,然后进行相加,这里就不给出这种方法的代码了,主要看下用Calendar这种方法。
public static void method_2(){
//创建Calendar对象
Calendar calendar = Calendar.getInstance();
//定义输入时间的格式
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Scanner input = new Scanner(System.in);
System.out.println("请输入年份:");
//从键盘上获取时间
String date = input.nextLine();
try {
//将输入的时间转化为Date对象
Date date2 = format.parse(date);
//将Date对象传给calendar
calendar.setTime(date2);
//获取它在这 一年中是第几天
System.out.println(calendar.get(Calendar.DAY_OF_YEAR));
} catch (ParseException e) {
e.printStackTrace();
}
}