求用JAVA计算某年某月的天数?(两种方法)

来源:互联网 发布:淘宝哪家店的零食好吃 编辑:程序博客网 时间:2024/05/21 04:18
/** *  */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;// 使用ScannerScanner 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;    elsedays = 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();// 格式化日期--设置dateSimpleDateFormat 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));    }}


给机一个记录
 

原创粉丝点击