Java学习笔记(3)

日期类的使用

Java中涉及时间的常用类分别如下:

                           å¾8-14 æ¥ææ¶é´ç¸å³ç±».png

Date类

Date中有很多方法被废弃掉了,大多用Calendar取代了,一般不会用Date类,Date的使用方法如下:

Date d=new Date();//d.getTime()表示当前时刻的毫秒数,直接打印d会是一个带有格式的日期

DateFormat类

DateFormat是一个抽象类,人们在实现时都会实例化他的子类,就是SimpleDateFormat类,这个类的作用就是实现Date和字符串之间的相互转化;代码如下:

        //将时间转换成某个固定格式的字符串
		DateFormat  df  = new SimpleDateFormat("yyyy-MM-dd  hh:mm:ss");
		String str  =  df.format(new Date(4000000)); 
		System.out.println(str);
		
		//将某一固定格式的字符串转换为Date时间对象
		DateFormat  df2 = new SimpleDateFormat("yyyy年MM月dd日 hh时mm分ss秒");
		
		Date  date = df2.parse("1983年5月10日 10时45分59秒");
		System.out.println(date);
		
		//这个固定的格式可以有很多种,可以自定义

Calendar类

Calendar是一个功能十分强大的类,它可以按照你的要求随意的处理时间,可以获得日期,设置日期,修改日期,和Date对象相互转化,也可以计算时间。

		//获得日期的相关元素
		Calendar calendar = new GregorianCalendar(2999,10,9,22,10,50);
		int year = calendar.get(Calendar.YEAR);
		int month = calendar.get(Calendar.MONTH);
		int  day = calendar.get(Calendar.DATE);		//也可以使用:DAY_OF_MONTH。
		int weekday = calendar.get(Calendar.DAY_OF_WEEK);	//星期几。 1-7.  1:星期日,2星期一,。。。7是星期六。 
		System.out.println(year) ;
		System.out.println(month) ;	//0-11表示对应的月份。0是1月,1月是2月.....11是12月。
		System.out.println(weekday);
		System.out.println(day);
		
		//设置日期的相关元素
		Calendar c2 = new GregorianCalendar();
		c2.set(Calendar.YEAR, 8012);
		
		System.out.println(c2);
		
		//日期的计算
		Calendar c3 = new GregorianCalendar();
		c3.add(Calendar.YEAR, -100);
		System.out.println(c3) ;
		
		//日期对象和时间对象的转化
		Date  d4 =  c3.getTime();
		Calendar c4 = new GregorianCalendar();
		c4.setTime(new Date());

运行结果为:

2999
10
7
9
java.util.GregorianCalendar[time=?,areFieldsSet=false,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=8012,MONTH=3,WEEK_OF_YEAR=15,WEEK_OF_MONTH=2,DAY_OF_MONTH=12,DAY_OF_YEAR=102,DAY_OF_WEEK=6,DAY_OF_WEEK_IN_MONTH=2,AM_PM=1,HOUR=4,HOUR_OF_DAY=16,MINUTE=22,SECOND=21,MILLISECOND=160,ZONE_OFFSET=28800000,DST_OFFSET=0]
java.util.GregorianCalendar[time=?,areFieldsSet=false,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=1919,MONTH=3,WEEK_OF_YEAR=15,WEEK_OF_MONTH=2,DAY_OF_MONTH=12,DAY_OF_YEAR=102,DAY_OF_WEEK=6,DAY_OF_WEEK_IN_MONTH=2,AM_PM=1,HOUR=4,HOUR_OF_DAY=16,MINUTE=22,SECOND=21,MILLISECOND=161,ZONE_OFFSET=28800000,DST_OFFSET=0]
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值