/**
*
*/
package com.pp.test;
import java.util.Scanner;
/**
* @author 刘文铭 求用JAVA计算某年某月的天数?
*
*/
public class DayTest {
public static void main(String[] args) {
// 定义年份
int year = -1;
// 定义月份
int month = -1;
// 使用Scanner
Scanner scanner = new Scanner(System.in);
System.out.println("请输入年");
year = scanner.nextInt();
System.out.println("请输入月");
month = scanner.nextInt();
System.out.println(year + "年" + month + "月有" + days(year, month) + "天");
}
public static int days(int year, int month) {
int days = 0;
if (month != 2) {
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days = 31;
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
}
} else {
//闰年
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
days = 29;
else
days = 28;
}
return days;
}
}
通常使用的方法
第二种方法
package com.pp.test;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Locale;
import java.util.Scanner;
/**
* @author 刘文铭
* @des 求用JAVA计算某年某月的天数?
*/
public class DayTest_1 {
public static void main(String[] args) {
// 1.使用Calendar日期函数(声明)
Calendar calendar = new GregorianCalendar();
// 或者用Calendar calendar = Calendar.getInstance();
// 格式化日期--设置date
SimpleDateFormat sdf = new SimpleDateFormat("", Locale.ENGLISH);
sdf.applyPattern("yyyyMM"); // 201203格式
Scanner scanner = new Scanner(System.in);
String date = scanner.next();// 日期格式
try {
System.out.println(sdf.parse(date));
calendar.setTime(sdf.parse(date));
} catch (ParseException e) {
e.printStackTrace();
}
/** 开始用的这个方法获取实际月的最大天数* */
int num2 = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println(num2);
// 日期减一,取得上月最后一天时间对象
// cal.add(Calendar.DAY_OF_MONTH, -1);
// 输出上月最后一天日期
// System.out.println(cal.get(Calendar.DAY_OF_MONTH));
}
}
给机一个记录