Java日历类

日历类:

java.util.Calendar是日历类,在Date后出现,替换掉了许多Date的方法
Calendar类是一个抽象类.
里面提供啦很多操作日历字段的方法(YEAR,MONTH,DAY_OF_MONTH,HOUR)
无法直接创建对象来使用,里面有一个静态方法叫getInstance() 该方法返回的是Calendar类的子类对象
	static Calendar getInstance()使用默认时区和语言环境获得一个日历	

常用成员方法:

public int get(int field):返回给定日历字段的值
public void set(int field, int value):将给定的日历字段设置为定值
public abstract void  add(int field, int amount):
		根据日历的规则,为给定的日历字段添加或减去指定的时间量
public Date getTime():返回一个表示此Calendar的时间值(从历元到现在的毫秒值偏移量)的Date对象

===================================

 public class CalendarCls {

	public static void main(String[] args) {
		//既然是一个静态方法,所以可以使用类名.getInstance()可以直接调用
		Calendar c = Calendar.getInstance();//多态
		System.out.println(c);
		
	}
	
}

--------------------------------------
import java.util.Calendar;
import java.util.Date;

/*
 *  	常用成员方法:
 * 		public int get(int field):返回给定日历字段的值
 * 		public void set(int field, int value):将给定的日历字段设置为定值
 * 		public abstract void  add(int field, int amount):
 * 			根据日历的规则,为给定的日历字段添加或减去指定的时间量
 * 		public Date getTime():返回一个表示此Calendar的时间值(从历元到现在的毫秒值偏移量)的Date对象
 * 	
 * 	成员方法的参数:
 * 		int field:日历类的字段,可以使用Calendar类的静态成员变量获取
 * 			public static final int YEAR =1 ; 年 
 * 			public static final int MONTH = 2 ; 月 
 * 			public static final int DATE = 5 ; 月中某一天 
 * 			public static final int DAY_OF_MONTH = 5 ; 月中某一天
 * 			public static final int HOUR= 10 ; 时
 * 			public static final int MINUTE = 12 ; 分
 * 			public static final int SECOND = 13 ; 秒
 * 			
 * 
 * 
 */
public class CalendarDemo {

	public static void main(String[] args) {
		demo01();
//		demo02();
//		demo03();
		demo04();
	}
	/*
	 * public int get (int field) : 返回给定日历字段的值
	 *	 参数传递日历字段(YEAR MONTH)
	 * 	 返回值:日历字段代表具体的值
	 */
	private static void demo01(){
		//使用getInstance方法获取Calendar对象 ,获取了一个日历类的对象
		//getInstance()获取实例化的对象。
		Calendar c = Calendar.getInstance();
		//静态字段,可以通过类名直接获取
		int year = c.get(Calendar.YEAR);
		int year2 = c.get(Calendar.YEAR)+1;//可以这样写
		System.out.println(year2);
		//获取月份,因为西方是0到11月所以比中国获取的比中国的月份小一位
		int month = c.get(Calendar.MONTH);
		System.out.println(month);
		
		//获取日
		int day = c.get(Calendar.DATE);
		System.out.println(day);
		
		//获取月份中的某一天
		int date = c.get(Calendar.DAY_OF_MONTH);
		System.out.println(date);
	}
	
	/*
	 * public void set(int field,int value):将给定的日历字段设置为定值
	 *		参数传递日历字段(YEAR MONTH)
	 * 		int value:传递的字段设置具体的值
	 * 
	 */
	private static void demo02(){
		//使用getInstance方法获取Calendar对象 ,获取了一个日历类的对象
		Calendar c = Calendar.getInstance();
		//设置年为8888
		c.set(Calendar.YEAR, 8888);
		//设置月为
		c.set(Calendar.MONTH, 9);
		//设置日
		c.set(Calendar.DATE, 28);
		
		//同时设置年月日
		c.set(9999, 9, 16);
		
		int year = c.get(Calendar.YEAR);
		System.out.println(year);
		//获取月份,因为西方是0到11月所以比中国获取的比中国的月份小一位
		int month = c.get(Calendar.MONTH);
		System.out.println(month);
		
		//获取日
		int day = c.get(Calendar.DATE);
		System.out.println(day);
		
		//获取月份中的某一天
		int date = c.get(Calendar.DAY_OF_MONTH);
		System.out.println(date);
		
	}
	/*
	 * public abstract void  add(int field, int amount):
	 * 		根据日历的规则,为给定的日历字段添加或减去指定的时间量
	 * 	把指定的字段增加/减少指定的值
	 * 	int field: 传递指定的日历字段
	 * 	int amount:增加/减少的值
	 * 		正数:增加
	 * 		负数:减少
	 * 
	 */
	private static void demo03(){
		//使用getInstance方法获取Calendar对象 ,获取了一个日历类的对象
		Calendar c = Calendar.getInstance();
		//把年增加两年
		c.add(Calendar.YEAR, 2);
		
		//把月份减少5个月
		c.add(Calendar.MONTH, -5);
		
		int year = c.get(Calendar.YEAR);
		System.out.println(year);
		//获取月份,因为西方是0到11月所以比中国获取的比中国的月份小一位
		int month = c.get(Calendar.MONTH);
		System.out.println(month);
		
		//获取日
		int day = c.get(Calendar.DATE);
		System.out.println(day);
		
		//获取月份中的某一天
		int date = c.get(Calendar.DAY_OF_MONTH);
		System.out.println(date);
		
	}
	/*
	 * public Date getTime():
	 * 		返回一个表示此Calendar的时间值(从历元到现在的毫秒值偏移量)的Date对象
	 * 		把日历转换为日期
	 * 
	 */
	private static void demo04(){
		//使用getInstance方法获取Calendar对象 ,获取了一个日历类的对象
		Calendar c = Calendar.getInstance();
		//把日历转换为日期。
		Date date = c.getTime();
		System.out.println(date);//Sun Dec 08 22:28:05 CST 2019
	}
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值