Calendar、GregorianCalendar

Calendar和GregorianCalendar

Calendar类是个抽象类 ,为我们提供了 关于日期计算的相关功能,比如:年、 月、日、时、分、秒的展示和计算。

GregorianC alendar是Calendar的一个具体子类,提供了世界上大多数国家/地区使用的标准日历系统。

雷区:

注意月份的表示,一月是0,二月是1,以此类推,12月是11。因为大多数人习惯于使用单词而不是使用数字来表示月份,这样程序也许更易读,父类Calendar使用常量来表示月份: JANUARY、FEBRUARY等等。

GregorianCalendar类和Calendar类的使用:

public class _09CanlendarDemo {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Calendar calendar = new GregorianCalendar(2019,5,1,01,01,01);
		System.out.println(calendar);
		int day = calendar.get(Calendar.DATE);  //日期
		int year = calendar.get(Calendar.YEAR);
		int month = calendar.get(Calendar.MONTH);
		int weekday = calendar.get(Calendar.DAY_OF_WEEK); //星期几 1:星期日 2:星期一………………类推  
		System.out.println(year);
		System.out.println(month);   // 0-11表示对应月份 
		System.out.println(weekday);
		System.out.println(day);
		
		//设置日期相关元素
		Calendar c2 = new GregorianCalendar();   //不传参数,默认当前日期
		c2.set(Calendar.YEAR, 2019);
		System.out.println(c2); 
		
		//日期计算
		Calendar c3 = new GregorianCalendar();
		c3.add(Calendar.DATE, -100);   //往后一百天
		System.out.println(c3);
		
		//日期对象时间日期转换
		Date d4 = c3.getTime();
		Calendar c4 = new GregorianCalendar();
		c4.setTime(new Date());
		System.out.println(c4);
		
	}
	public static void printCanlender(Calendar c) {
		//打印:1918年10月10日 11:23:45 周三
				int year = c.get(Calendar.YEAR);
				int month = c.get(Calendar.MONTH)+1;   //0-11
				int  date = c.get(Calendar.DAY_OF_MONTH);
				int  dayweek  = c.get(Calendar.DAY_OF_WEEK)-1;    //1-7.1周日,2周1,3周2....
				String dayweek2 = dayweek==0?"日":dayweek+"";
				
				int hour = c.get(Calendar.HOUR);
				int minute = c.get(Calendar.MINUTE);
				int second = c.get(Calendar.SECOND);
				
				System.out.println(year+"年"+month+"月"+date+"日 "+hour+"时"+minute+"分"+second+
    "秒"+"   周"+dayweek2);
	}
}

 

 

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值