基础笔记4(包装类,时间date. calendar
1.包装类 基本类型和对象。
编译器会对基本类型和包装类进行自动拆箱,装箱处理
Interger i=5;
int i=new Interger(4);
一个缓存问题:以便提高效率
integer i=1345; integer i2=1234; i==i2; //flase i.equals(i2); //ture integer i3=13; integer i4=13; i3==i4; //true i3.equals(i4); //true 虚拟机对于【-128,127】之间的数会当作基本类型处理。类似string常量池。
2.时间处理。date
以1970.1.1.零时间为标准距离现在的毫秒数
new Date()//无参的构造方法是当前时间的毫秒 new Date(有参数)//参数对应的时间,都是以标准时间为准的。
3.时间和字符串之间的转换类:
3.1将时间转换为某种格式:
simpleDateFormate
大H是0-23小时,小h是1—12小时
Date now = new Date(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss;;y-M-d H:m:s");//如果一个字母缺省不会补0.比如5,不会是05. // 其实只是将字符串中字符用数字替换 System.out.println(now); String format = simpleDateFormat.format(now); System.out.println(format); 输出: Mon Nov 14 00:05:22 CST 2016 2016-11-14 0:05:22;;16-11-14 0:5:22
3.2将某种格式的时间字符串转换成时间对象:
SimpleDateFormat simpleDateFormat = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss");//大H是0-23小时,小h是1—12小时。在这么使用貌似一样 try { Date oldDate = simpleDateFormat.parse("2014-2-22 23:3:3");//将这种类型字符串转换为date类型的时间 System.out.println(oldDate);
4.calendar:日期或者日历类; 时间(数字)与日期转换。抽象类,子类GregorianCalendar(格里利【公历】)(http://blog.csdn.net/joyous/article/details/9630893)
月(数字0开始,代表从1月开始
星期(数字1开始,代表 从星期日 ,一,二。。。)
类将一些日期(星期月份)设置成常量数字。
4.1一般使用calendar的子类:一般用于日期设置和获取。
Calendar calendar = Calendar.getInstance(); // Calendar calender2=new GregorianCalendar(); // SimpleDateFormat oldSimpleformat = new SimpleDateFormat( // "yyyy-MM-dd HH:mm:ss;;y-M-d h:m:s"); calendar.set(2014, 2, 3, 13, 0);// 参数表示年,月,日,时,分 calendar.set(Calendar.YEAR, 2016); // calendar.setTime(now); System.out.println(calendar.get(Calendar.MONTH)); System.out.println(oldSimpleformat.format(calendar.getTime())); calendar.set(Calendar.MONTH, Calendar.JANUARY);// 月份是从0开始第一月 // 等同与calendar.set(Calendar.MONTH,0); System.out.println(oldSimpleformat.format(calendar.getTime())); System.out.println(calendar.get(Calendar.DAY_OF_WEEK));// 周几从1开始并且1是周日,2才是周一 System.out.println(calendar.getTime()); // 日期计算 calendar.add(Calendar.DATE, -4);// 负数表示减去多少 System.out.println(calendar.getTime());
输出
2//2代表了三月份 2016-03-03 13:00:11;;16-3-3 1:0:11 2016-01-03 13:00:11;;16-1-3 1:0:11 1//一周的第一天,周日 Sun Jan 03 13:00:11 CST 2016 Wed Dec 30 13:00:11 CST 2015
获取月份的天数: