Calendar类
代码演示
package com.tian.date;
import java.util.Calendar;
public class Test {
public static void main(String[] args) {
//获取对象
Calendar c=Calendar.getInstance();
System.out.println(c);
/*
* java.util.GregorianCalendar
* [time=1625475251088,areFieldsSet=true,areAllFieldsSet=true,
* lenient=true,zone=sun.util.calendar.ZoneInfo
* [id="Asia/Shanghai",offset=28800000,dstSavings=0,
* useDaylight=false,transitions=31,lastRule=null],
* firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,
* YEAR=2021,MONTH=6,WEEK_OF_YEAR=28,WEEK_OF_MONTH=2,DAY_OF_MONTH=5,
* DAY_OF_YEAR=186,DAY_OF_WEEK=2,DAY_OF_WEEK_IN_MONTH=1,
* AM_PM=1,HOUR=4,HOUR_OF_DAY=16,MINUTE=54,SECOND=11,MILLISECOND=88,
* ZONE_OFFSET=28800000,DST_OFFSET=0]
*/
int year=c.get(Calendar.YEAR);
int month=c.get(Calendar.MONTH)+1;
int date=c.get(Calendar.DATE);
System.out.println(year+"年"+month+"月"+date+"日");//2021年7月5日
}
}
Calendar常用方法
代码演示
package com.tian.date;
import java.util.Calendar;
public class Test1 {
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
//get方法
// int year=c.get(Calendar.YEAR);
// int month=c.get(Calendar.MONTH)+1;
// int date=c.get(Calendar.DATE);
// System.out.println(year+"年"+month+"月"+date+"日");
//2021年7月5日
//add方法
/* c.add(Calendar.YEAR, -3);
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH) + 1;
int date = c.get(Calendar.DATE);
System.out.println(year + "年" + month + "月" + date + "日"); // 2018年7月5日
*/
//10年后的5天前
/* c.add(Calendar.YEAR, 10);
c.add(Calendar.DATE, -5);
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH) + 1;
int date = c.get(Calendar.DATE);
System.out.println(year + "年" + month + "月" + date + "日");//2031年6月30日
*/
//set方法
c.set( 2048,11,11);
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH) + 1;
int date = c.get(Calendar.DATE);
System.out.println(year + "年" + month + "月" + date + "日");//2048年12月11日
}
}
案例 二月天
- 需求:获取任意一年的二月有多少天
package com.tian.date;
import java.util.Calendar;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
// 键盘录入任意的年份
Scanner sc = new Scanner(System.in);
System.out.println("请输入年份:");
int year = sc.nextInt();
//设置日历对象的年月日
Calendar c = Calendar.getInstance();
c.set(year, 2, 1);
//System.out.println(c.get(Calendar.YEAR) +"年"+ (c.get(Calendar.MONTH)+1)+"月"+c.get(Calendar.DATE)+"日");
//3月1日往前推一天,就是2月的最后一天
c.add(Calendar.DATE, -1);
//获取这一天输出即可
int date = c.get(Calendar.DATE);
System.out.println(year + "年的2月份有" + date + "天");
}
}